java - 使用流如何替换嵌套列表的值
问题描述
在索引位置 1 的输入中遇到的前半部分字符串将使用流替换为字符“-”我们如何执行操作?
List<List<String>> arr = Arrays.asList(Arrays.asList("0", "ab"), Arrays.asList("6", "cd"),
Arrays.asList("0", "ef"), Arrays.asList("6", "gh"),
Arrays.asList("4", "ij"), Arrays.asList("0", "ab"),
Arrays.asList("6", "cd"));
我有上面的列表,我想用“-”替换每个嵌套列表值的第一个位置,使用这样的循环
int j=0;
while(j <arr.size()/2){
arr.get(j).set(1, "-");
j++;
}
样本输出:[[0, -], [6, -], [0, -], [6, gh], [4, ij], [0, ab], [6, cd]]
但是任何人都可以解释如何使用流来实现相同的目标
解决方案
我不会使用 aStream
来执行此操作,处理子列表会更简单:
arr.subList(0, arr.size() / 2).forEach(s -> s.set(1, "-"));
如果您确实需要使用流(例如,如果您想进行额外的过滤和映射操作),您可以使用 anIntStream
来处理索引:
IntStream.range(0, arr.size() / 2)
.forEach(j -> arr.get(j).set(1, "-"));
或者只是通过限制您处理的条目数量:
arr.stream()
.limit(arr.size() / 2)
.forEach(s -> s.set(1, "-"));
推荐阅读
- bash - bash 输出到 /dev/null 比标准输出快 100 倍
- azure-application-insights - 应用程序洞察请求表 client_Type
- php - 记录克隆 - php/mysql
- html - 使用 pre 时出现奇怪的缩进
- github - 如何使用 Travis-CI 生成 Doxygen 文档
- node.js - 注销api调用后keycloak access_token有效
- python - 在 Django 中注册,使用唯一的电子邮件
- docker - 当我们重新启动一个正在运行的 CA 服务器容器时会发生什么?
- r - 从输入 csv 绘制延迟
- eclipse-hawkbit - Hawkbit 所有 pod 都显示为待处理