这个问题在这里已经有了答案:
Concatenating two int[]
(3 个回答)
Combine two integer arrays [duplicate]
(9 个回答)
2年前关闭。
This page显示如何组合 Integer
的两个数组对象放入 Object
的数组中对象。
Integer[] firstArray = new Integer[] { 10 , 20 , 30 , 40 };
Integer[] secondArray = new Integer[] { 50 , 60 , 70 , 80 };
Object[] merged =
Stream
.of( firstArray , secondArray )
.flatMap( Stream :: of )
.toArray()
;
Arrays.toString( merged ): [10, 20, 30, 40, 50, 60, 70, 80]
➥ 有没有办法使用 Java 流连接一对原始数组
int
值(value)而不是对象?int[] a = { 10 , 20 , 30 , 40 };
int[] b = { 50 , 60 , 70 , 80 };
int[] merged = … ?
我意识到使用 Java 流可能不是最有效的方法。但我对原语和 Java 流的相互作用很好奇。
我知道
IntStream
但看不到如何将其用于此目的。
最佳答案
IntStream.concat
将每个数组转换为 IntStream
.然后调用 IntStream.concat
结合。
最后,生成 int
的数组调用 IntStream::toArray
.
int[] a = { 10 , 20 , 30 , 40 };
int[] b = { 50 , 60 , 70 , 80 };
int[] merged = IntStream.concat(IntStream.of(a), IntStream.of(b)).toArray();
System.out.println(Arrays.toString(merged));
看到这个code run live at IdeOne.com .
输出:
[10, 20, 30, 40, 50, 60, 70, 80]
提示:要对结果进行排序,请调用
.sorted()
在 .toArray()
之前.如所见running on IdeOne.com .
关于java - 使用Java流合并一对 `int`数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61297074/