2013-04-04 43 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