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

标签 java java-stream

我有一些数组

int[] a = {1,2,3,4,5};

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

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

最佳答案

您将需要一个 flatMap 而不是 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));

输出(按要求)

[1, 1, 2, 2, 3, 3, 4, 4, 5, 5]

关于java - 通过 Java 中的流复制数组的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50572639/

相关文章:

java - 从文件 [java] 中读取不同的变量并将它们放入 JList 中

java - 确定小组中最高/最矮的人

java - 如何创建流式传输到 http 响应的文件

java - 请推荐将 apache lucene 与 MVC/spring web 应用程序集成的最佳实践

Java 8 - Lambda 表达式将 List<String> 转换为 List<DTO>

java - 过滤 List<Object[]> 以保留一致的值

Java 8 条件过滤和收集自定义 map

java - 将 Runnable 实现为接口(interface)的抽象类

java - 使用 Java 8 Streams 为 ArrayList<Double> 输入重写 StringJoiner

java - 如何使用 Stream 将 Map of Map 转换为 Map of Object