配对流元素
给定一个像 {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中文网其他相关文章!