1.数组转list
1.数组转list,转后不支持增删
String[] strArray = new String[]{"1","2"};
int[] aaa = new int[]{0,1,2,3,4};
Character[] character = new Character[]{'1','2'};
List list3 = Arrays.asList(strArray);
// list3.add("3");
System.out.println(list3.get(1));
结果为:2
这里我们要注意Arrays.asList(strArray)是把字符串类型的转为链表。如果是Arrays.asList(aaa)那么就是int型转为链表,是失败的。不支持int[]转链表(但是支持Integer[]转链表)注意:Arrays.asList()方法中是只支持泛型的,就是引用类型,所以int这种基本类型不支持。Character也是支持转链表。但是转为链表只支持用get去查,不支持删和加。
2.数组转list,转后支持增删
String[] strArray = new String[]{"1","2"};
int[] aaa = new int[]{0,1,2,3,4};
Character[] character = new Character[]{'1','2'};
List list3 = new ArrayList<>(Arrays.asList(strArray));
list3.add("9");
System.out.println(list3.get(2));
结果为:9
String[] string = new String[2];
List list4 = new ArrayList<>(Arrays.asList(string)) ;
list4.add("9");
System.out.println(list4);
结果为:[null, null, 9]
如果实行加操作
list4.set(0,1);
结果为:[1, null, 9];注意这里的(0,1)中的1为int也是成功的,set后的那个参数为object类型。
3.数组转list最高效率方法
String[] strArray = new String[2];
ArrayList<String> arrayList3 = new ArrayList<>(strArray.length);
Collections.addAll(arrayList3, strArray);
arrayList3.add("1");
结果为:[null, null, 1]
利用Collections方法的addAll(目标链表,数组)。首先要建立一个链表长度和数组长度一样
2.list转数组
1.toArray方法
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 5; i++) {
list.add(i);
}
Integer[] array = list.toArray(new Integer[0]);
for(int i : array){
System.out.println(i);
}
结果为:0,1,2,3,4
注意:list.toArray()方法也是只支持泛型的还有就是new Integer[0]值得思考一秒钟,为啥要Integer[0]
2.stream方法
String[] array2 = list1.stream().toArray(String[]::new); System.out.println(Arrays.toString(array2));
数组的输出方法Arrays.toString
3.数组转set
Set<String> set = new HashSet<>(Arrays.asList(str)); //2. stream Set<String> set2 = Stream.of(str).collect(Collectors.toSet());
4.set转数组
String[] array = set.toArray(new String[0]); //2. stream String[] array2 = set.stream().toArray(String[]::new);
5.list转set
Set<String> set = new HashSet<>(list); Set<String> set2 = list.stream().collect(Collectors.toSet());
6.set转list
List<String> list = new ArrayList<>(set); //2. stream List<String> list2 = set.stream().collect(Collectors.toList());
本文介绍了如何将数组转换为List(支持增删操作),以及如何进行List和Set的转换,包括toArray、stream和HashSet的使用。重点讲解了转换过程中的注意事项和最高效的方法。
770

被折叠的 条评论
为什么被折叠?



