Java 數組與容器之間的轉化 實現數組動態賦值


import  java.util.ArrayList;
import  java.util.Arrays;
import  java.util.HashSet;
import  java.util.List;
import  java.util.Set;
/**
  * 數組與Collection之間的轉換
  */
public  class  ArrayCollection {
  public  static  void  main(String[] args) {
   
   List list =  new  ArrayList();
   list.add( "aaa" );
   list.add( "bbb" );
   list.add( "ccc" );
   list.add( "ddd" );
   //當List中的數據類型都一致時,可以將list轉化成數組
   //轉化成對象數組時,直接調用toArray方法
   Object[] objArray = list.toArray();
   System.out.println( "從list轉化成的對象數組的長度為: "  + objArray.length);
   //在轉化成其他類型的數組時,需要強制類型轉換,並且,要使用帶參數的toArray方法。
   //toArray方法的參數為一個對象數組,將list中的內容放入參數數組中
   //當參數數組的長度小於list的元素個數時,會自動擴充數組的長度以適應list的長度
   String[] strArray1 = (String[])list.toArray( new  String[ 0 ]);
   System.out.println( "從list轉化成的字符串數組的長度為: "  + strArray1.length);
   //分配一個長度與list的長度相等的字符串數組。
   String[] strArray2 = (String[])list.toArray( new  String[list.size()]);
   System.out.println( "從list轉化成的字符串數組的長度為: "  + strArray2.length);
   list.clear(); //清空List
   
   //將數組轉化成List
list =  new  ArrayList(Arrays.toList(strArray1))
   System.out.println( "從數組轉化成的list的元素個數: "  + objArray.length);
   list.clear(); //清空List
   //直接使用Arrays類的asList方法
   list = Arrays.asList(objArray);
   System.out.println( "從數組轉化成的list的元素個數: "  + objArray.length);
   
   Set set =  new  HashSet();
   set.add( "aaa" );
   set.add( "bbb" );
   //Set轉化成數組
   objArray = set.toArray();
   strArray1 = (String[])set.toArray( new  String[ 0 ]);
   strArray2 = (String[])set.toArray( new  String[set.size()]);
   
   //數組轉換成Set
   //將數組轉換成List后,再用List構造Set
   set =  new  HashSet(Arrays.asList(objArray));
   //將Set清空,然后把數組轉換成的List全部add
   set.clear();
   set.addAll(Arrays.asList(strArray1));
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM