【发布时间】:2016-12-23 17:57:15
【问题描述】:
在我从事的各种项目中,我发现了一个类似的模式
Map<Integer, List<String>> listMap = new HashMap<Integer, List<String>>();
public void addValue(Integer key, String value) {
if (!listMap.containsKey(key)) {
listMap.put(key, new ArrayList<String>());
}
listMap.get(key).add(value);
}
填充具有Lists 作为值的地图。
由于这是一种常见的模式,我想知道标准库中是否没有一些便利类或类似番石榴之类的东西来管理向该结构添加和删除值。
【问题讨论】:
-
Spring 有
MultiValueMap,但没有标准。 -
你看过 Guava 文档吗?
interface Multimap -
还有 Apache Commons Collections -
interface MultiMap -
@AndyTurner,
ArrayList::new不正确。看我的回答。 -
@Kayaman 投票重新开放,因为这提供了比其他帖子中更高质量的问题和答案(如果我可以这么说的话)。更不用说它没有公认的答案。
标签: java list dictionary collections guava