Code instance sharing in Java that dynamically changes array length and array to Map
- 2020-05-07 19:47:25
- OfStack
dynamically changes the length of the array
/** * 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]);
}
The code is just the implementation of the basic method, detailed processing also needs you to go to Coding oh > >
converts Array to Map
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"));
}
}