gpt4 book ai didi

java 8 - 有没有一种从 map 中过滤和删除的好方法?

转载 作者:搜寻专家 更新时间:2023-11-01 01:25:41 24 4
gpt4 key购买 nike

我想从 map 中过滤几个对象,如下所示:

  • 使用过滤后的结果创建新 map
  • 从原始 map 中删除

目前我用两种方法来做

Map<String, MyObject > map = scenarioFieldsMap.entrySet().stream()
.filter(e -> e.getKey().contains("["))
.collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue()));

scenarioFieldsMap.entrySet().removeIf(e -> e.getKey().contains("["));

有没有更好的过滤去除方式?

最佳答案

如果不是遍历所有键(或条目),而是只删除另一个映射中存在的键,那么第二步会更有效率:

scenarioFieldsMap.keySet().removeAll(map.keySet());

我假设您打算从原始 scenarioFieldsMap 中删除条目,而不是从您在第一步中创建的新 map 中删除条目。

关于java 8 - 有没有一种从 map 中过滤和删除的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31561289/

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