gpt4 book ai didi

java - 如何使用java流在每次迭代中使用当前和下一个对象对列表进行分区?

转载 作者:行者123 更新时间:2023-11-30 01:42:32 24 4
gpt4 key购买 nike

我想在每次迭代时从 ArrayList 获取接下来的两个对象。我知道我们可以使用传统的 for 循环来实现这一点,但只是想知道是否还有其他方法可以做到这一点。

例如,如果我有以下列表,

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);

我的输出应该是

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

任何帮助将不胜感激。

最佳答案

通过使用IntStream,您可以根据索引迭代List并将结果收集到List

List<List<Integer>> res = IntStream.range(0, list.size()-1)
.mapToObj(i->Arrays.asList(list.get(i),list.get(i+1)))
.collect(Collectors.toList());

输出:

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

关于java - 如何使用java流在每次迭代中使用当前和下一个对象对列表进行分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59446356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com