因為List和Set都實現了Collection接口,且addAll(Collection<? extends E> c);方法,因此可以采用addAll()方法將List和Set互相轉換;另外,List和Set也提供了Collection<? extends E> c作為參數的構造函數,因此通常采用構造函數的形式完成互相轉化。
1 public static void main(String[]args){ 2 String[] array = {"A", "B", "C", "D"}; 3 //1-1、數組轉List 4 //需要注意的是, Arrays.asList() 返回一個受指定數組決定的固定大小的列表。 5 // 所以不能做 add 、 remove 等操作,否則會報錯。 6 List list1= Arrays.asList(array); 7 //1-2、數組轉HashSet 8 Set<String> set1=new HashSet<>(Arrays.asList(array)); 9 //2-1、List轉數組 10 List<String> list2=Arrays.asList("Tom","John","Lily"); 11 Object []array1=list2.toArray(); 12 //2-2、List轉HashSet 13 List<String> list3=Arrays.asList("Tom","John","Lily"); 14 Set<String> set2=new HashSet<>(list3); 15 //3-1、set轉數組 16 String[] array4 = {"K", "J", "P", "U"}; 17 Set<String> set4=new HashSet<>(Arrays.asList(array4)); 18 Object[] array5=set4.toArray(); 19 //3-2、set轉List 20 List<String> list=new ArrayList<>(set4); 21 }