轉自http://www.blogjava.net/ronghao
primitive 數組克隆及反轉排序
long[] array = { 1, 3, 2, 3, 5, 6
};
long[] reversed = ArrayUtils.clone( array );
ArrayUtils.reverse(
reversed );
System.out.println( "Original: " + ArrayUtils.toString( array )
); //打印
System.out.println( "Reversed: " + ArrayUtils.toString( reversed
) );
對象數組克隆及反轉排序
Long[] array = new Long[] { new Long(3), new Long(56), new Long(233) };
Long[] reversed = ArrayUtils.clone( array );
ArrayUtils.reverse( reversed
);
primitive
數組與對象數組之間的轉換
long[] primitiveArray = new long[] { 12, 100, 2929,
3323 };
Long[] objectArray = ArrayUtils.toObject( primitiveArray );
Double[] doubleObjects = new Double[] { new Double( 3.22, 5.222, 3.221 ) };
double[] doublePrimitives = ArrayUtils.toPrimitive( doubleObject );
注意:對象數組可以含有null元素,primitive 數組則不容許含有null元素,所以對象數組轉換爲primitive
數組時,可以添入第二個參數,當碰到爲null的元素時用其代替(如下,Double.NaN)。如果不添入第二個參數,當碰到爲null的元素時,則會拋出NullPointerException
。
double[] result = ArrayUtils.toPrimitive( resultObjArray, Double.NaN
);
查找一個數組中是否含有特定的元素(查找對象數組時,比較的是對象的equals()方法),及特定元素的第一次出現位置和最後一次出現位置
String[] stringArray = { "Red", "Orange", "Blue", "Brown", "Red" };
boolean
containsBlue = ArrayUtils.contains( stringArray, "Blue" );
int indexOfRed =
ArrayUtils.indexOf( stringArray, "Red");
int lastIndexOfRed =
ArrayUtils.lastIndexOf( string, "Red"
);
由二維對象數組創建一個
Map
Object[] weightArray =
new Object[][] {
{"H" , new Double( 1.007)},
{"He", new Double(
4.002)},
{"Li", new Double(
6.941)},
{"Be", new Double(
9.012)},
{"B", new
Double(10.811)},
{"C", new
Double(12.010)},
{"N", new
Double(14.007)},
{"O", new
Double(15.999)},
{"F", new
Double(18.998)},
{"Ne", new Double(20.180)} };
Map weights = ArrayUtils.toMap( weightArray );
Double hydrogenWeight =
(Double)weights.get( "H" );
注意:當二維對象數組"key"值重複時,創建的Map,後面的鍵-值對會把前面的覆蓋掉