gpt4 book ai didi

java - 检索具有相同值的所有映射键

转载 作者:行者123 更新时间:2023-11-30 05:36:30 25 4
gpt4 key购买 nike

我正在检索具有相同值的所有 map 键。此代码给出正确的输出“[A,B]”。但我想要答案为 A B。如何更改代码以获得 A B 输出?

class MyHashMap<K, V> extends HashMap<K, V> {

Map<V, Set<K>> reverseMap = new HashMap<>();
public V put(K key, V value) {
if (reverseMap.get(value) == null)
reverseMap.put(value, new HashSet<K>());

reverseMap.get(value).add(key);
return super.put(key, value);
}

public Set<K> getKeys(V value) {
return reverseMap.get(value);
}

}

class Main
{
public static void main(String[] args) {
MyHashMap<String, Integer> hashMap = new MyHashMap();
hashMap.put("A", 1);
hashMap.put("B", 1);
hashMap.put("C", 2);
System.out.println("Gift is for "+hashMap.getKeys(1));

}
}

最佳答案

getKeys返回 Set<K>含义Set#toString当像hashMap.getKeys(1)这样的表达式时将被使用在字符串操作中会遇到。 Set#toString添加这些小括号。

您可能想查看 String.join .

System.out.println("Gift is for " + String.join(" ", hashMap.getKeys(1)));

关于java - 检索具有相同值的所有映射键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56505408/

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