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

 更新时间:2016年03月22日 08:50:32   作者:Ai2015WER   我要评论

这篇文章主要介绍了Java中动态地改变数组长度及数组转map的代码分享,其中转Map利用到了java.util.Map接口,需要的朋友可以参考下

动态改变数组的长度

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

相关文章

最新评论