将 int[] 数组转换为 List

在 Java 中,有时我们需要将一个int[] 数组转换为List<Integer>,这可以通过多种方式实现,下面介绍几种常见的方法。
方法一:使用 Arrays.stream()
Java 8 引入了流(Stream)API,可以方便地将数组转换为集合。
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.stream(array)
.boxed()
.collect(Collectors.toList());
System.out.println(list);
}
}
方法二:使用循环手动添加元素
如果你使用的是 Java 7 或更早的版本,没有 Stream API,可以使用循环手动将数组元素添加到列表中。
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
List<Integer> list = new ArrayList<>();
for (int i : array) {
list.add(i);
}
System.out.println(list);
}
}
方法三:使用 Apache Commons Lang 库
如果你使用了 Apache Commons Lang 库,可以利用其中的ArrayUtils 类来简化操作。
确保你已经添加了依赖:

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commonslang3</artifactId>
<version>3.12.0</version>
</dependency>
你可以这样转换:
import org.apache.commons.lang3.ArrayUtils;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
Integer[] boxedArray = ArrayUtils.toObject(array);
List<Integer> list = Arrays.asList(boxedArray);
System.out.println(list);
}
}
方法四:使用 Guava 库
Google 的 Guava 库也提供了类似的功能,确保你已经添加了依赖:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1jre</version>
</dependency>
你可以这样转换:
import com.google.common.primitives.Ints;
import java.util.List;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
List<Integer> list = Ints.asList(array);
System.out.println(list);
}
}
相关问题与解答
问题一:如何将List<Integer> 转换回int[]?
要将List<Integer> 转换回int[],可以使用以下方法:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int[] array = list.stream().mapToInt(Integer::intValue).toArray();
System.out.println(Arrays.toString(array));
}
}
问题二:为什么需要将int[] 转换为List<Integer>?

将int[] 转换为List<Integer> 的原因有很多,以下是一些常见的场景:
1、利用集合框架的功能:List 接口提供了丰富的方法,如排序、过滤、查找等,这些在数组中并不直接支持。
2、兼容性:某些 API 只接受List 类型的参数,而你手头的数据是数组形式。
3、灵活性:List 可以动态调整大小,而数组的大小是固定的,在某些情况下,使用List 可以提供更大的灵活性。
以上内容就是解答有关“Java中将 int[] 数组 转换为 List分享”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。














