首页 > 编程 > Java > 正文

Java中动态地改变数组长度及数组转Map的代码实例分享

2019-11-26 14:29:18
字体:
来源:转载
供稿:网友

动态改变数组的长度

/** * 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

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"));    }   } 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表