You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java Stream替换嵌套foreach从现有列表筛选匹配值生成新列表

Java Stream 替换嵌套 for 循环实现方案

你可以通过flatMap平铺两层迭代逻辑,实现和原有嵌套for循环完全一致的效果,代码如下:

import java.util.stream.Collectors;

// 原有变量定义保持不变
List<String> valueListToBeFilter = Arrays.asList("8 digit mobile number", "Please enter mobile number.");
// _webElementsErrorList 沿用你原有定义的元素列表即可

List<String> newfoundValueList = valueListToBeFilter.stream()
        .flatMap(value -> _webElementsErrorList.stream()
                .filter(element -> element.getText().contains(value))
                .map(WebElement::getText))
        .collect(Collectors.toList());

newfoundValueList.forEach(System.out::println);

补充说明

  • 逻辑完全对齐原代码:同一个WebElement如果文本匹配多个关键词,会和原逻辑一样重复存入结果列表,如果需要去重可在collect前添加.distinct()操作
  • 时间复杂度和原有实现一致,没有额外性能损耗,仅写法更简洁

内容的提问来源于stack exchange,提问作者DeepakVerma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 17:15:07