Java数组转换集合
数组转换集合
方法一 : 数组转换集合
package com.mybatis.demo.exercise;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @author yinsenxin
*/
public class TestArray2List {
public static void main(String[] args) {
// java数组转List 基本类型int []
int [] array = {1,2,3,4,5};
List<Integer> list = new ArrayList<>();
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
// 非基本数据类型 {String Integer Double...}
String[] stringArray = { "a", "b", "c", "d", "e" };
List<String> list1 = Arrays.asList(stringArray);
}
}
基本类型数组 类如int类型, 不能使用 Arrays.asList();直接将数组元素转换到集合中;
可以先将 int [] 转换成 Integer [] 类型的数组,然后在使用 Arrays.asList();进行转换到集合中;
可以使用apache封装的数组工具类来完成 导入如下依赖
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
package com.mybatis.demo.exercise;
import org.apache.commons.lang.ArrayUtils;
import java.util.Arrays;
import java.util.List;
public class TestArray2List {
public static void main(String[] args) {
int [] array = {1,2,3,4,5};
// 使用apache封装的数组工具类 ArrayUtils将int [] --> Integer []
Integer[] integers = ArrayUtils.toObject(array);
// 再通过Arrays.asList();转换
List<Integer> integers1 = Arrays.asList(integers);
}
}
方法二 : 使用 java8中的Stream来完成
package com.mybatis.demo.exercise;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
/**
* @author yinsenxin
*/
public class ArraySort {
public static void main(String[] args) {
// int 数组转换成 Integer数组
int[] nums = {1,22,3,21};
//先将int数组转换为数值流
IntStream stream = Arrays.stream(nums);
//流中的元素全部装箱,转换为流 ---->int转为Integer
Stream<Integer> integerStream = stream.boxed();
//将流转换为数组
Integer[] integers = integerStream.toArray(Integer[]::new);
// Integer数组 转List
List<Integer> integers1 = Arrays.asList(integers);
// int []数组 直接转换成 List集合
List<Integer> collect = Arrays.stream(nums).boxed().collect(Collectors.toList());
}
}

浙公网安备 33010602011771号