首页 >Java >java教程 >如何将 Java 流中的连续元素配对?

如何将 Java 流中的连续元素配对?

DDD
DDD原创
2024-11-28 20:26:12257浏览

How Can I Pair Consecutive Elements from a Java Stream?

配对流元素

给定一个像 {0, 1, 2, 3, 4} 这样的元素流,如何转换它分成成对的连续元素(Pair对象)?

答案:

Java 8 流库专门将流分割成更小的部分以进行并行处理,从而限制其有状态的管道阶段。因此,直接访问相邻的流元素或获取它们的索引是不可能的。

要克服此限制,请考虑对流元素建立索引并从随机访问数据结构(如 ArrayList)访问它们。例如,给定值的 ArrayList:

IntStream.range(1, arrayList.size())
             .mapToObj(i -> new Pair(arrayList.get(i-1), arrayList.get(i)))
             .forEach(System.out::println);

此管道创建连续元素对并并行运行。请注意,此解决方案假设输入流是有限的而不是无限的。

以上是如何将 Java 流中的连续元素配对?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn