gpt4 book ai didi

java - 如何在 Java 中搜索映射以查找与谓词匹配的键?

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

我的理解正确吗? Java 开发人员是这样做的吗?或者有更好的方法吗?

因此,如果我想在映射中找到与谓词匹配的键,我必须首先通过方便提供的方法从映射中获取键集。然后,我必须通过方便提供的方法将集合转换为流。然后,我必须通过方便提供的方法用我的谓词过滤流。然后,我必须将流转换为我选择的一种类型的容器,可能会通过方便提供的方法提供一个收集器来执行此操作。然后,我至少可以检查容器是否为空,以了解是否匹配。只有这样我才能使用键来提取感兴趣的值,或者我可以从一开始就使用条目集并省去额外的步骤。

真的是这样吗?因为据我所知,没有其他方法内置到映射中或作为通用搜索算法提供给迭代器或其他一些容器抽象。

最佳答案

我自己也更喜欢entrySet。您应该会发现这很有效:

Map<String, Integer> map; //Some example Map
//The map is filled here

List<Integer> valuesOfInterest = map.entrySet()
.stream() //Or parallelStream for big maps
.filter(e -> e.getKey().startsWith("word")) //Or some predicate
.map(Map.Entry::getValue) //Get the values
.collect(Collectors.toList()); //Put them in a list

如果没有匹配项,则列表为空。如果多个键与谓词匹配,这将很有用。

关于java - 如何在 Java 中搜索映射以查找与谓词匹配的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39517911/

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