我有了字符串的键和集(包含整数),其值的地图JAVA:如何搜索地图?
说我的钥匙看起来像这样的“苹果”,“香蕉”,“橙”等
用户输入文本并将其保存为字符串变量。如何在我的地图上搜索相同的密钥? 所以,如果用户输入“苹果”我如何给该方法的字符串,并有方法搜索我的地图的“苹果”键并返回与它(值)相关的整数集?
感谢
我有了字符串的键和集(包含整数),其值的地图JAVA:如何搜索地图?
说我的钥匙看起来像这样的“苹果”,“香蕉”,“橙”等
用户输入文本并将其保存为字符串变量。如何在我的地图上搜索相同的密钥? 所以,如果用户输入“苹果”我如何给该方法的字符串,并有方法搜索我的地图的“苹果”键并返回与它(值)相关的整数集?
感谢
使用get方法
Set<Integer> values = map.get("apple");
你真的不搜索一个地图,你从它因而检索值:
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");
}
答案确实与问题有关。它回答了这个问题,但问题是基于一个错误的假设,我们应该解决这个问题。因此,@ user2242801提供了一个更好的例子 – 2018-01-11 22:06:13
不确定@DavidZwart,用户说“_I有一个包含字符串的键,并为它的values_设置了集合(包含整数)” - 所以我假设它们有一个Map
回报整数集与之相关联它(值)?
的地图需要的关键是不同的,因此,我认为你的地图声明看起来像Map<String, List<Integer>> myMap
要检查的关键在地图存在: myMap.containsKey(key)
例如 myMap.containsKey("apple")
要获得该键关联的值: myMap.get(key)
例如 myMap.get("apple")
这有很多错别字,请更正它们。另外,使用'back-ticks'来突出代码。 – 2013-04-04 00:38:03
为什么不接受? – 2018-01-11 22:05:05
查看[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
为什么是这个问题downvoted?我得到了答案,显然不是重复或模糊。好的,有一个错误的假设。但我们不是在这里纠正它吗? – 2018-01-11 22:03:37