gpt4 book ai didi

java - 如何根据条件返回 map 的键?

转载 作者:太空宇宙 更新时间:2023-11-04 15:03:01 26 4
gpt4 key购买 nike

我正在使用 BlueJ 学习 Java,我创建了一个具有 (Integer, String)HashMap 的类,其中包含某人的 ID 号及其姓名.

我想要一个方法来返回满足条件的所有键的集合,例如它们的 ID 号以 3 开头。我不知道该怎么做。

然后是另一种方法,如果满足条件,则返回值的集合,我认为它与之前的方法非常相似。

我知道我需要循环遍历 map ,但我不确定如何编写条件来填充新 map 。

最佳答案

下面是一个返回集合中所有奇数键的示例。列表和集合都是集合,就像 ArrayList 是列表一样。在此示例中,您可以将 Collection 更改为 List(甚至 ArrayList),它会执行相同的操作。

public Collection<Integer> getOddKeys() {
// keySet is a method of Map that returns a Set containing all the keys (and no values).
Collection<Integer> result = new ArrayList<Integer>();
for(Integer key : map.keySet()) {
if((key % 2) == 0) // if the key is odd...
result.add(key); // ... then add it to the result
}
return result;
}

您应该能够修改此示例来检查值 - 我不会只给您该代码,因为它非常相似,并且很容易弄清楚您是否了解此示例的工作原理。

您需要使用 values 方法,该方法返回值的集合,就像 keySet 返回值的集合(更具体地说,一组)按键。如果您想知道为什么 keySet 返回一个集合而 values 不返回,这是因为您可以在映射中使用相同的值两次,但不能使用相同的 key 两次。

关于java - 如何根据条件返回 map 的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22349276/

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