List集合与Array数组之间的互相转换
2017-12-28 22:32
477 查看
数组转换成List集合
方法一 笨方法就是通过add把数组中的数据循环添加到List集合中
List<String> mlist = new ArrayList<>(); String[] array = new String[] {"zhu", "wen", "tao"}; // String数组转List集合 for (int i = 0; i < array.length; i++) { mlist.add(array[i]); } // 输出List集合 for (int i = 0; i < mlist.size(); i++) { System.out.println("mlist-->" + mlist.get(i)); }1
2
3
4
5
6
7
8
9
10
方法二
采用java中集合自带的asList()方法就可以完成转换了
String[] array = new String[] {"zhu", "wen", "tao"}; // String数组转List集合 List<String> mlist = Arrays.asList(array); // 输出List集合 for (int i = 0; i < mlist.size(); i++) { System.out.println("mlist-->" + mlist.get(i)); }1
2
3
4
5
6
7
List集合转换成数组
方法一 笨方法是把List中的数据循环添加到数组中
List<String> mlist = new ArrayList<>(); mlist.add("zhu"); mlist.add("wen"); mlist.add("tao"); String[] array = new String[mlist.size()]; // List转换成数组 for (int i = 0; i < mlist.size(); i++) { array[i] = mlist.get(i); } // 输出数组 for (int i = 0; i < array.length; i++) { System.out.println("array--> " + array[i]); }1
2
3
4
5
6
7
8
9
10
11
12
13
方法二
采用集合的toArray()方法直接把List集合转换成数组,这里需要注意,不能这样写:
String[] array = (String[]) mlist.toArray();
这样写的话,编译运行时会报类型无法转换java.lang.ClassCastException的错误,这是为何呢,这样写看起来没有问题啊
因为java中的强制类型转换是针对单个对象才有效果的,而List是多对象的集合,所以将整个List强制转换是不行的
正确的写法应该是这样的
String[] array = mlist.toArray(new String[0]);
List<String> mlist = new ArrayList<>(); mlist.add("zhu"); mlist.add("wen"); mlist.add("tao"); // List转成数组 String[] array = mlist.toArray(new String[0]); // 输出数组 for (int i = 0; i < array.length; i++) { System.out.println("array--> " + array[i]); }1
2
3
4
5
6
7
8
9
10
11
不管是数组转换成集合,还是集合转换成数组,都要注意转换类型的一致性,String[]数组转String类型的集合,当需要使用int,double等集合的时候,需要使用对应的对象
如:数组int[]用Integer[],double[]用Double[]
因为List集合是对象的集合,而int、double等不是对象,所以需要用字段的对应对象类
相关文章推荐
- List集合与Array数组之间的互相转换
- 【Core Java Volume 4】java中数组Array和集合之间的相互转换
- 数组与list集合之间转换
- Java中 set,list,array(集合与数组)、Map相互转换
- List Set与数组之间的互相转换
- 常见的数组之间的转换。List Set Array!
- List与数组之间的互相转换
- Java数组Array与列表List之间的转换
- Java中 set,list,array(集合与数组)、Map相互转换
- Java中数组和List集合如何互相转换。
- 关于数组,List,Set和Map之间的互相转换
- Java中数组和List集合如何互相转换。
- java中 set,list,array(集合与数组)相互转换
- java中 set,list,array(集合与数组)相互转换
- 集合框架(一)续 向集合中添加一个集合、数组和List之间的相互转换、从集合中删除另一个集合所包含的元素
- List类型与String数组、Set集合互相转换
- Java中数组和List集合如何互相转换
- 02-数组与集合之间的互相转换
- java中 set,list,array(集合与数组)相互转换
- List,数组互相转换