我從查找特定值的密鑰時遇到問題。如何從HashMap中的值獲取密鑰?
我知道另一種方式來從鍵中找到一個值,而不是從一個值中找出一個鍵。 我認爲我找到了很多解決方案,但我不是很瞭解他們,你能幫我嗎?
HashMap<Spielfeldposition, Integer> risikoregionen = new HashMap<Spielfeldposition, Integer>();
我從查找特定值的密鑰時遇到問題。如何從HashMap中的值獲取密鑰?
我知道另一種方式來從鍵中找到一個值,而不是從一個值中找出一個鍵。 我認爲我找到了很多解決方案,但我不是很瞭解他們,你能幫我嗎?
HashMap<Spielfeldposition, Integer> risikoregionen = new HashMap<Spielfeldposition, Integer>();
對於Java集合API,你必須保證1:在插入值到地圖的時間鍵和值之間一對一的關係。
然後,您可以使用entrySet()來獲取映射。然後您可以迭代這些值並獲取相應的密鑰。
編輯
Iterator entries = myMap.entrySet().iterator();
while (entries.hasNext()) {
Entry thisEntry = (Entry) entries.next();
Object key;
if(yourvalue == thisEntry.getValue()){
key = thisEntry.getKey();
return key
// ...
}}
好的,可以嗎?給我們一個例子請問? (鍵盤)鍵值:map.keySet()){value = map.get(key);}} } 那樣? – ddvdt
檢查編輯!你可以從中得到一些想法! –
如果您還需要從價值得到鑰匙,也許你需要的數據結構是一個雙向映射。問題#770254,「How to create a 2 way map in java」,處理。
語言?你的HashMap的例子? – Marged
Java。 HashMap risikoregionen = new HashMap (); 我們希望通過檢查最高值來找到關鍵「Spielfeldposition」。 –
ddvdt
可能重複[Java Hashmap:如何從值獲取密鑰?](http://stackoverflow.com/questions/1383797/java-hashmap-how-to-get-key-from-value) – djechlin