在Java中通过流复制数组的每个元素

Арт*_*иев 5 java java-stream

我有一些数组

int[] a = {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)

如何通过流从中获取具有重复元素的另一个数组。我的意思是这样的

result = Stream.of(a).map(...)
// after that result = {1,1,2,2,3,3,4,4,5,5}
Run Code Online (Sandbox Code Playgroud)

Ell*_*sch 6

您将需要 aflatMap而不是map。喜欢,

int[] a = { 1, 2, 3, 4, 5 };
int[] result = IntStream.of(a).flatMap(x -> IntStream.of(x, x)).toArray();
System.out.println(Arrays.toString(result));
Run Code Online (Sandbox Code Playgroud)

输出(根据要求)

[1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
Run Code Online (Sandbox Code Playgroud)