Java - Как преобразовать примитивный массив в список
Фрагменты кода для преобразования примитивного массиваint[]
вList<Integer>
:
int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Listlist = new ArrayList<>(); for (int i : number) { list.add(i); }
В Java 8 вы можете использовать Stream API для упаковки и преобразования следующим образом:
Listlist = Arrays.stream(number).boxed().collect(Collectors.toList());
1. Классический пример
Полный пример преобразования примитивного массива в список.
ArrayExample1.java
package com.example.array; import java.util.ArrayList; import java.util.List; public class ArrayExample1 { public static void main(String[] args) { int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Listlist = convertIntArrayToList(number); System.out.println("list : " + list); } private static List convertIntArrayToList(int[] input) { List list = new ArrayList<>(); for (int i : input) { list.add(i); } return list; } }
Выход
list : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Note
Вы не можете использовать популярныйArrays.asList
для его прямого преобразования из-за проблем с боксом.
int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // No, the return type is not what we want Listints = Arrays.asList(number);
2. Java 8 Stream
Пример полного потока Java 8 для преобразования примитивного массива в список.
ArrayExample2.java
package com.example.array; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; public class ArrayExample2 { public static void main(String[] args) { int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // IntStream.of or Arrays.stream, same output //Listlist = IntStream.of(number).boxed().collect(Collectors.toList()); List list = Arrays.stream(number).boxed().collect(Collectors.toList()); System.out.println("list : " + list); } }
Выход
list : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]