集合、列表与数组之间的相互转换

集合、列表与数组之间的相互转换

    • 1.list与数组之间的相互转换
      • 1.1 list转换成数组
      • 1.2 数组转换成list

在java编程的过程中,我们通常会遇到集合、列表与数组之间的相互转换,下面介绍下每种转换的方式。

1.list与数组之间的相互转换

1.1 list转换成数组

使用toArray方法转换,一定是转换成引用类型的数组(integer,String),无法直接转换成基本数据类型的数组。

(1)List 转 Integer[]

Integer[] integers2 = list1.toArray(new Integer[0]);

(2)List 转 String[]

//方法一:
String[] strs = list1.toArray(new String[0]);

//方法二:
ArrayList<String> list=new ArrayList<String>();
String[] strings = new String[list.size()];
list.toArray(strings);

一定不能写成下面的形式,这种写法是错误的会报出异常

list.toArray(

(3)List 转int[]
将list转换成基本数据类型数组,我们可以采用流式处理的方法:

int[] arr1 = list1.stream().mapToInt(Integer::valueOf).toArray();

1.2 数组转换成list

直接调用Arrays工具类的asList方法

(1)Integer[] 转 List

Integer[] integers1= {
     4, 5, 3, 6, 2, 5, 1};
List<Integer> list2 = Arrays.asList(integers1);

(2)String[] 转 List

 String[] strings1 = {
     "a", "b", "c"};
 List<String> list3 = Arrays.asList(strings1);

(3)int[] 转List
使用 Arrays.stream(),需要“装箱”一下:

int[] arr2 = {
     234, 2, 23, 777, 2};
List<Integer> list2 = Arrays.stream(arr2).boxed().collect(Collectors.toList());

你可能感兴趣的:(java集合)