gpt4 book ai didi

lambda - 在 lambda 中过滤 Java 集合,无需创建新集合

转载 作者:行者123 更新时间:2023-12-02 07:20:03 25 4
gpt4 key购买 nike

我有一个 Java 中的最终 ConcurrentMap,并且想要过滤它的元素而不创建新元素。

问题是:我可以从 lambda 内部引用集合(people)吗?

final ConcurrentMap<String, String> people = new ConcurrentHashMap<>();
people.put("Sam", "developer");
people.put("Kate", "tester");

people.forEach((name, role) -> {
if (name.length() > 3)
people.remove(name);
});

最佳答案

.keySet().values().entrySet() 返回 map 键、值和条目的实时 View 分别。您可以从这些集合中删除元素,相应的条目将从 map 中删除:

people.keySet().removeIf(name -> name.length() > 3);

关于lambda - 在 lambda 中过滤 Java 集合,无需创建新集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426588/

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