Java使用stream流实现数组和集合之间的相互转换

  1. 实现基本数据类型数组转换为对应包装类型数组和集合
int[] ints1 = new int[]{1, 2, 3};
// boxed()方法用于将基本类型的流转换为对应的装箱类型流
// 基本数据类型数组转换为对应包装类型数组
Integer[] integers1 = Arrays.stream(ints1).boxed().toArray(Integer[]::new);
// 基本数据类型数组转换为对应包装类型集合
List<Integer> list1 = Arrays.stream(ints1).boxed().collect(Collectors.toList());
  1. 实现包装数据类型数组转换为对应基本类型数组和集合
Integer[] integers = new Integer[] {1, 2, 3};
// mapToInt()方法用于将装箱类型的流转换为对应的基本类型流
// 包装数据类型数组转换为对应基本类型数组
int[] ints = Arrays.stream(integers).mapToInt(e -> e).toArray();
// 包装数据类型数组转换为对应包装类型集合
List<Integer> list = Arrays.stream(integers).collect(Collectors.toList());
  1. 实现包装类型集合转换为对应包装类型数组和基本数据类型数组
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3));
// 包装类型集合转换为对应基本类型数组
int[] ints = list.stream().mapToInt(e -> e).toArray();
// 包装类型集合转换为对应包装类型集合
Integer[] integers = list.stream().toArray(Integer[]::new);

你可能感兴趣的:(java,stream流,数组,集合)