數組轉換集合
方法一 : 數組轉換集合
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()); } }