

Jakarta Commons Lang ArrayUtils
配列に対する操作に関するユーティリティークラスです。
私のお薦めはclone()とtoMap()とtoString()です。
clone()を使うことで、get・setメソッドでこれを使うことで、配列の内容を外から操作されることを防げます。
toMapを使うとMapの初期化が楽にできます。
toStringを使うと、配列のdebug出力ができます。
誰でも一度は書いたことがあるコードがメソッド化されています。
これらの処理を将来にわたって、プログラム中に点在させるのでなく、ArrayUtils(Commons Lang)に集約するのはいかがでしょうか!
詳細
clone
配列の中身を複製した物を返します。
引数
primitive又はObjectの配列
返値
Object[]
contains
配列の中に、該当する値があればtrueを返します。
引数
primitive又はObjectの配列
探す値
返値
boolean
hashCode
引数が配列の場合、配列の中身に関連したHash値を返します。
引数
Object
返値
int
indexOf
StringのindexOfと同様です。
配列の中から、値を探して見つかった配列の位置を返します。
引数
primitive又はObjectの配列
探す値
探し始める位置
返値
int 該当する配列の場所 該当しない場合は -1
isEquals
2つのObjectが配列の中身も含めてequalsかどうか比べます。
同じならtrueを返します。
引数
Object1
Object2
返値
boolean
isSameLength
2つの配列の長さが同じかどうか比べます。
同じであればtrueを返します。
Objectがnullの場合、長さを0とします。
引数
primitive又はObjectの配列
primitive又はObjectの配列
返値
boolean
isSameType
2つのObjectの配列の中身が同じ種類かどうか比べます。
同じならtrueを返します。
引数
Object
Object
返値
boolean
lastIndexOf
indexOfとは逆に後ろ方向に調べていきます。
値が見つかった位置を返します
引数
primitive又はObjectの配列
探す値
探し始める位置
返値
int 該当する配列の場所 該当しない場合は -1
reverse
配列の順番を反転させます。
引数
primitive又はObjectの配列
返値
void
toMap
これを使うと、Mapを1行で作れます。初期値として使うのに便利です。
private static Map map=ArrayUtils.toMap(new String[][]{
{"up","上"},
{"down","下"}
});
引数
Objectの配列
返値
Map
toObject
primitiveの配列を対応したObjectの配列に変換します。
引数
primitiveの配列
返値
primitiveに対応したObjectの配列
toPrimitive
Objectの配列を、対応したprimitiveの配列に変換します。
引数
Objectの配列
返値
primitiveの配列
toString
配列の開始は {
配列の終わりは }
配列の区切りは ,
で配列の値を文字列に変換します。
値がnullの場合は、<null>となります。
配列そのものがnullの場合は、{} が返ります。
ただし、引数でNull時に返す文字列を指定した場合、その文字列が返ります。
多重配列にも対応してますので、System.out.println()でDebugするときに重宝します。
引数
配列
配列がNullの時返す文字列
返値
配列の中身も反映した文字列

