我想每次迭代都从 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]]