如何实现List和数组之间的转换?
1、List转数组(2种方法)
(1)(常用)应用:list.toArray(new String[list.size()])
(2)应用:list.toStream.toArray(String[]:new)
List<String> list = new ArrayList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
/**
* 1.应用:list.toArray(new String[list.size()])
*/
System.out.println("========1========");
String[] arrStrings = list.toArray(new String[list.size()]);
printArr(arrStrings);
/**
* 2.应用:list.toStream.toArray(String[]:new)
*/
System.out.println("========2========");
String[] arrStrings1 = list.toArray(new String[list.size()]);
printArr(arrStrings1);
2、数组转List(3种方法)
(1)通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。
(2)通过ArrayList的构造器,将Arrays.asList(arr)的返回值转为ArrayList。
(3)通过集合工具类Collections.addAll()方法(最高效)。
String[] arr={"王昭君","妲己","后羿","鲁班","程咬金"};
System.out.println(arr);
/**
* 1.通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。
*/
List<String> list1=Arrays.asList(arr);
System.out.println(list1);//此方法仅可读取数据用,不可以操作数据。
/**
* 2.通过ArrayList的构造器,将Arrays.asList(arr)的返回值转为ArrayList。
*/
List<String> list2=new ArrayList<String>(Arrays.asList(arr));
System.out.println(list2);
/**
* 3.通过集合工具类Collections.addAll()方法(最高效)
*/
ArrayList<String> list3=new ArrayList<String>();
Collections.addAll(list3, arr);
System.out.println(list3);
相关推荐:
ArrayList和Array(数组)的区别