【发布时间】:2013-03-25 17:09:42
【问题描述】:
我有这张地图Map<String, Set<Integer>> myMap;,现在我需要与之交互,我该怎么做?
例如:
键是:“apple”、“orange”、“grape”等。
每组将包含随机数:1-9
我需要创建一个映射(HashMap 或 TreeMap),其中包含用于键的字符串和用于值的集合。我需要返回给定密钥的集合。我还需要能够根据一个键为每个集合填充多个数字。不知道如何解决这个问题。有什么想法吗?
【问题讨论】:
-
阅读有关
Set接口及其实现的文档。Map也是如此。 To get you started -
你能举一个用户输入和预期输出的例子吗?
-
您的地图应该是
Map<String,Set<Integer>>,至于地图或集合本身,请参阅文档。特别是地图的put和get方法和集合的add方法。 -
您可能想查看 Guava 开源库中的 SetMultimap 接口及其实现。您可能可以直接使用这个库,或者至少看看他们的代码,以了解如何使用这种类型的数据结构。
-
在 Java 8 中实现这一点的好方法:map.computeIfAbsent(key, k -> new HashSet
()).add(value);
标签: java dictionary hashmap set key