java - Java 8获取列表连续数字的功能方式
问题描述
例如,我有一个整数列表,如List(1,2,3,4,5,6,7)
我想在 Java 8 中获得所有连续 3 个数字的组合,以更实用的方式学习 Java 8。(我知道如何以命令式的方式进行)
所以上面的结果可以是一个列表列表:
List(List(1,2,3), List(2,3,4), List(3,4,5), List(4,5,6), List(5,6,7))
谢谢
解决方案
您可以List.subList
在迭代它时使用它:
final int subListSize = 3;
List<Integer> list = List.of(1, 2, 3, 4, 5, 6, 7);
List<List<Integer>> sublists = IntStream.rangeClosed(0, list.size() - subListSize)
.mapToObj(i -> list.subList(i, i + subListSize))
.collect(Collectors.toList());
推荐阅读
- javascript - Express 上的 GET/POST 方法
- javascript - 木偶表演者无头行为不同
- javascript - JSON、特殊字符和发送到数据库
- java - 获取 Maven 依赖项的连接重置
- javascript - JavaScript:返回 null 的类
- excel - 概述来自多个来源的一个单元格中的文本
- r - geom_bar() 和 geom_col() 的所有位置是什么?
- design-patterns - OLAP 多维数据集设计:运行时生成的度量
- javascript - 警告控制台:列表中的每个子项都应在代码 react.js 中的表中具有唯一的“键”道具
- c++ - 将 ASCII 字符表示的十六进制数转换为 C/C++ 中的十进制整数