数组转LIst的几种方法

第一种方式

/**
 * 针对数组类型转换
 * 分别是int[]、long[]、double[],其他数据类型比如short[]、byte[]、char[],在JDK1.8中暂不支持
 */
 
List<Integer> intList= Arrays.stream(new int[] { 1, 2, 3, }).boxed().collect(Collectors.toList());
List<Long> longList= Arrays.stream(new long[] { 1, 2, 3 }).boxed().collect(Collectors.toList());
List<Double> doubleList= Arrays.stream(new double[] { 1, 2, 3 }).boxed().collect(Collectors.toList());


第二种方式

/**
 * 什么类型的数组都行,方式比较杂,有工具类转换的也有stream转换的
 * 其中3.4方法是相同的,因为Stream.of()里调用的就是Arrays.stream
 */
 
List<Object> list1 = Arrays.asList(array);
List<Object> list2 = Lists.newArrayList(array);
List<Object> list3 = Stream.of(arrays).collect(Collectors.toList());
List<Object> list4 = Arrays.stream(array).collect(Collectors.toList());


第三种方式

/**
 *通过集合工具类Collections.addAll()方法(最高效)
 *通过Collections.addAll(arrayList, strArray)方式转换,根据数组的长度创建一个长度相同的List,然后通过Collections.addAll()方法,将数组中的元素转为二进制,然后添加到List中,这是最高效的方法。
 */
ArrayList<String> arrayList = new ArrayList<String>(strArray.length);
Collections.addAll(arrayList, strArray);


你可能感兴趣的:(java,stream,list,array)