如何在Java中将int[]转换为List<Integer>?流

2022-08-31 04:21:34

如何转换为 Java?int[]List<Integer>

当然,我对任何其他答案都感兴趣,而不是逐项循环地做。但是如果没有其他答案,我会选择那个作为最好的答案,以表明这个功能不是Java的一部分。


答案 1

  1. 在Java 8+中,您可以制作数组的流。调用 Arrays.streamIntStream.ofint
  2. 调用 IntStream#boxed 以使用从基元对象到整数对象的装箱转换。int
  3. 使用 收集到列表中。或者更简单地说,在Java 16+中,调用Stream#toList()Stream.collect( Collectors.toList() )

例:

int[] ints = {1,2,3};
List<Integer> list = Arrays.stream(ints).boxed().collect(Collectors.toList());

在 Java 16 及更高版本中:

List<Integer> list = Arrays.stream(ints).boxed().toList();

答案 2

从转换为没有捷径,因为不处理拳击,只会创建一个不是你想要的。你必须做一个实用程序方法。int[]List<Integer>Arrays.asListList<int[]>

int[] ints = {1, 2, 3};
List<Integer> intList = new ArrayList<Integer>(ints.length);
for (int i : ints)
{
    intList.add(i);
}