Java 集合與陣列互相轉換

20170405發表於2020-09-18

  Java中的Set、List和陣列互相轉換:

  1、陣列轉List:Arrays.asList(arr)

  public static void main(String[] args){

  Integer[] arr = new Integer[]{1,2,3};

  List list = Arrays.asList(arr);

  for(Integer i : list){

  System.out.println(i);

  }

  }

  使用asList方法會返回一個固定長度的List,不可add或remove,否則會報java.lang.UnsupportedOpera。

  如果想要返回可變列表,則需要將陣列裡的元素遍歷加到List中:

  public static void main(String[] args){

  Integer [] arr = new Integer[]{1,2,3};

  List list = new ArrayList();

  if(arr!=null&&arr.length!=0){

  for(int i =0;i

  list.add(arr[i]);

  }

  }

  }

  2、陣列轉Set:先使用Arrays.asList(arr)再轉換為Set

  public static void main(String[] args){

  Integer[] arr = { 1 , 2 , 3 };

  Set set = new HashSet(Arrays.asList(arr));

  for(Integer i : set) {

  System.out.println(i);

  }

  }

  3、List轉陣列:list.toArray();

  public static void main(String[] args) {

  List list = new ArrayList();

  list.add(1);

  list.add(2);

  Object[] arr = list.toArray();

  for(Object o : arr) {

  System.out.println(o);

  }

  }

  4、Set轉陣列:set.toArray();

  public static void main(String[] args) {

  Set set = new HashSet();

  set.add(1);

  set.add(2);

  Object[] arr = set.toArray();

  for(Object o : arr) {  System.out.println(o);

  }

  }

  5、List轉Set:轉換過程中要保證型別一致,否則會報型別轉換異常

  public static void main(String[] arg s){

  List l = new ArrayList();

  Set s = new HashSet(l);

  }

  6、Set轉List:和上述List轉Set的方式相同

  public static void main(String[] args){

  Set s = new HashSet();

  List l = new ArrayList(s);

  }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979119/viewspace-2722302/,如需轉載,請註明出處,否則將追究法律責任。

相關文章