2015-06-04 124 views
0

我從查找特定值的密鑰時遇到問題。如何從HashMap中的值獲取密鑰?

我知道另一種方式來從鍵中找到一個值,而不是從一個值中找出一個鍵。 我認爲我找到了很多解決方案,但我不是很瞭解他們,你能幫我嗎?

HashMap<Spielfeldposition, Integer> risikoregionen = new HashMap<Spielfeldposition, Integer>(); 
+0

語言?你的HashMap的例子? – Marged

+0

Java。 HashMap risikoregionen = new HashMap (); 我們希望通過檢查最高值來找到關鍵「Spielfeldposition」。 – ddvdt

+0

可能重複[Java Hashmap:如何從值獲取密鑰?](http://stackoverflow.com/questions/1383797/java-hashmap-how-to-get-key-from-value) – djechlin

回答

0

對於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 
// ... 
}} 
+0

好的,可以嗎?給我們一個例子請問? (鍵盤)鍵值:map.keySet()){value = map.get(key);}} } 那樣? – ddvdt

+0

檢查編輯!你可以從中得到一些想法! –