我正在尝试实现一个看起来像的复杂数据结构
Map<A,Set<B>> map = new HashMap<A,Set<B>>();
但我不确定如何向此数据结构添加内容。我正在尝试做一个
map.put(a,b);
但这无济于事,因为它需要一个集合。我的要求需要实现这个数据结构。有什么想法吗?
我正在尝试实现一个看起来像的复杂数据结构
Map<A,Set<B>> map = new HashMap<A,Set<B>>();
但我不确定如何向此数据结构添加内容。我正在尝试做一个
map.put(a,b);
但这无济于事,因为它需要一个集合。我的要求需要实现这个数据结构。有什么想法吗?
您需要add
在哈希映射中包含的集合内的元素:
if (!map.containsKey(a)) {
map.put(a, new Set<B>());
}
map.get(a).add(b);
如果您有能力为您的项目添加依赖项,那么Guava对此提供支持。您需要使用SetMultimap。
您首先需要获取集合,然后添加到它:
map.get(a).put(b);
您可能还需要处理该集合不存在的特殊情况。
Set<B> set = map.get(a);
if (set == null)
{
set = new HashSet<B>();
map.put(a, set);
}
set.put(b);