数组和集合之间的转化
在学习中我们总会遇到需要将数组转换为集合或者需要将集合转换为数组,所以我也查阅了资料为大家总结了几种方式:
(1)数组转换为集合
1.1手动转换
1.1.1 字符数组转换为集合
//定义一个String类型的集合
List<String> list= new ArrayList<>();
//初始化一个String类型的数组
String[] array = new String[] {"Hello", "java", "c"};
//将数组中的元素添加到集合中
for (int i = 0; i < array.length; i++) {
//list集合的添加元素方式是.add(),当i等于0时,array[0]就表示Hello
list.add(array[i]);
}
//最后输出集合
System.out.println(list);
结果:[Hello, java, c]
1.1.2 数字数组转换为集合
List<Integer> list= new ArrayList<>();
int[] array = new int[] {1,2,9,4,0,6};
for (int i : array) {
list.add(i);
}
System.out.println(list);
//结果:[1, 2, 9, 4, 0, 6]
1.2 asList()方法
1.2.1 字符数组转换为集合
String[] array = new String[] {"Hello", "java", "c"};
List<String> list = Arrays.asList(array);
System.out.println(list);
结果:[Hello, java, c]
1.2.2 数字数组转换为集合
Integer[] array = new Integer[] {3,4,5,6,23,8};
List<Integer> list = Arrays.asList(array);
System.out.println(list);
结果:[3, 4, 5, 6, 23, 8]
1.3 采用流的方式
1.3.1数字数组转换为集合
int[] array= {1,2,3};
List<Integer> list=Arrays.stream(array).boxed().collect(Collectors.toList());
System.out.println(list);
结果:[1, 2, 3]
(2)集合转换为数组
2.1 手动转换
2.1.1 字符类集合转换为数组
List<String> list=new ArrayList<>();
list.add("Hello");
list.add("java");
list.add("c");
String[] array=new String[list.size()];
for (int i = 0; i < list.size(); i++) {
//list.get(i)是通过索引值获取集合中的元素
array[i]=list.get(i);
}
System.out.println(Arrays.toString(array));
结果:[Hello, java, c]
2.1.2 数字类集合转换为数组
List<Integer> list=new ArrayList<>();
list.add(3);
list.add(6);
list.add(5);
int[] array=new int[list.size()];
for (int i = 0; i < list.size(); i++) {
array[i]=list.get(i);
}
System.out.println(Arrays.toString(array));
结果:[3, 6, 5]
2.2toArray方法
2.2.1 字符类集合转换为数组
List<String> list=new ArrayList<>();
list.add("Hello");
list.add("java");
list.add("c");
String[] array=new String[list.size()];
list.toArray(array);
//增强for循环里面的i就是元素本身,不是元素的下标
for (String i : array) {
System.out.print(i+" ");
}
结果:Hello java c
2.2.2 数字类集合转换为数组
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
Integer[] array=new Integer[list.size()];
list.toArray(array);
for (int i : array) {
System.out.print(i+" ");
}
结果:1 2 3