有没有办法优化列表地图?

Che*_*eng 4 java

给出以下代码?

final Map<String, List<E>> map = new HashMap<String, List<E>>();

List<E> list = map.get(mapKey);
if (list == null) {
    list = new ArrayList<E>();
    map.put(mapKey, list);
}
list.add(value);
Run Code Online (Sandbox Code Playgroud)

如果有什么办法我可以避免空检查?但是,让我第一次插入Map时会自动为我创建List吗?

我记得我曾经看过一个能够做到这一点的专业地图.但是,我忘记了我已经看到的地方:(

Eti*_*veu 7

您正在寻找Guava的*MultiMap.当它被称为"Google Collections"时,您可能以前曾听说过它.

这篇博文讲述了一些关于MultiMap的内容.

  • 如果您非常关注JAR大小,Guava [推荐ProGuard](http://code.google.com/p/guava-libraries/wiki/UsingProGuardWithGuava)只过滤掉您需要的部分. (2认同)