2013-04-04 41 views
-1

我有了字符串的鍵和集(包含整數),其值的地圖JAVA:如何搜索地圖?

說我的鑰匙看起來像這樣的「蘋果」,「香蕉」,「橙」等

用戶輸入文本並將其保存爲字符串變量。如何在我的地圖上搜索相同的密鑰? 所以,如果用戶輸入「蘋果」我如何給該方法的字符串,並有方法搜索我的地圖的「蘋果」鍵並返回與它(值)相關的整數集?

感謝

+2

查看[Map documentation](http://docs.oracle.com/javase/7/docs/api/java/util/Map.html#get(java.lang.Object)) – tjameson 2013-04-04 00:38:45

+0

爲什麼是這個問題downvoted?我得到了答案,顯然不是重複或模糊。好的,有一個錯誤的假設。但我們不是在這裏糾正它嗎? – 2018-01-11 22:03:37

回答

5

使用get方法

Set<Integer> values = map.get("apple"); 
2

你真的不搜索一個地圖,你從它因而檢索值:

public static void main(String[] args) { 
    final Map<String, Set<Integer>> myMap = new HashMap<>(); 
    //put new values into map 
    myMap.put("MyString", new HashSet<Integer>()); 
    //get Set from Map 
    final Set<Integer> mySet = myMap.get("myString"); 
} 
+0

答案確實與問題有關。它回答了這個問題,但問題是基於一個錯誤的假設,我們應該解決這個問題。因此,@ user2242801提供了一個更好的例子 – 2018-01-11 22:06:13

+0

不確定@DavidZwart,用戶說「_I有一個包含字符串的鍵,併爲它的values_設置了集合(包含整數)」 - 所以我假設它們有一個Map >'。我會認爲_user2242801_做出了錯誤的假設;不僅僅是因爲他們談論'List's ... – 2018-01-12 07:22:21

1

回報整數集與之相關聯它(值)?

的地圖需要的關鍵是不同的,因此,我認爲你的地圖聲明看起來像Map<String, List<Integer>> myMap

要檢查的關鍵在地圖存在: myMap.containsKey(key) 例如 myMap.containsKey("apple")

要獲得該鍵關聯的值: myMap.get(key) 例如 myMap.get("apple")

+1

這有很多錯別字,請更正它們。另外,使用'back-ticks'來突出代碼。 – 2013-04-04 00:38:03

+0

爲什麼不接受? – 2018-01-11 22:05:05