我正在计算文件中的单词,并且将单词和它们各自的计数加载到哈希映射中。我排序的值,并以此来找回我的钥匙:在不使用BiMap的情况下从HashMap中的值中检索密钥的最有效方法
public static String getKey(TObjectIntHashMap<String> hash, int value){
for(String s: hash.keySet()){
if(value == hash.get(s)){
key = s;
hash.remove(key);
return key;
}
}
我知道这是一个非常丑陋的方式来做到这一点,但它是我似乎可以得到工作的唯一途径。我完全知道bimaps的存在,但宁愿不使用它。有任何想法吗?
你应该清楚,你问的'TObjectIntHashMap',而不是'java.util.HashMap'在t书名。 –
为什么你不喜欢使用最省时的解决方案?空间限制? –
根据你多久做一次这可能会更好地构建一个反向映射<整数,列表>。这可以在O(N)时间完成。 –
Ingo