动态改变数组的长度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/** * Reallocates an array with a new size, and copies the contents
* * of the old array to the new array.
* * @param oldArray the old array, to be reallocated.
* * @param newSize the new array size.
* * @return A new array with the same contents.
* */
private static Object resizeArray (Object oldArray, int newSize) {
int oldSize = java.lang.reflect.Array.getLength(oldArray);
Class elementType = oldArray.getClass().getComponentType();
Object newArray = java.lang.reflect.Array.newInstance(
elementType,newSize);
int preserveLength = Math.min(oldSize,newSize);
if (preserveLength > 0 )
System.arraycopy (oldArray, 0 ,newArray, 0 ,preserveLength);
return newArray; }
// Test routine for resizeArray().
public static void main (String[] args) {
int [] a = { 1 , 2 , 3 };
a = ( int [])resizeArray(a, 5 );
a[ 3 ] = 4 ;
a[ 4 ] = 5 ;
for ( int i= 0 ; i<a.length; i++)
System.out.println (a[i]);
}
|
代码只是实现基础方法,详细处理还需要你去Coding哦>>
把 Array 转换成 Map
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import java.util.Map;
import org.apache.commons.lang.ArrayUtils;
public class Main {
public static void main(String[] args) {
String[][] countries = { { "United States" , "New York" },
{ "United Kingdom" , "London" },
{ "Netherland" , "Amsterdam" },
{ "Japan" , "Tokyo" },
{ "France" , "Paris" } };
Map countryCapitals = ArrayUtils.toMap(countries);
System.out.println( "Capital of Japan is " + countryCapitals.get( "Japan" ));
System.out.println( "Capital of France is " + countryCapitals.get( "France" ));
}
}
|