使用Map with Lists作为值很简单

时间:2018-06-03 13:11:17

标签: java spring collections java-8 guava

我正在使用这样的并发哈希映射:

private final Map<String, List<FooObject>> map = new ConcurrentHashMap<>();

我使用自定义对象列表作为值。当应用程序启动并且我需要将一些对象存储到List中以获取地图中的特定键时,我首先需要检查,如果该键有一些值(List):

FooObject foo = new Foo(...);

if (map.get(key) == null) {
   map.putIfAbsent(key, Lists.newArrayList(foo))
} else {
   map.get(key).add(foo);
}

我的问题是,是否有办法将代码编写得更简单?有一些java 8功能?我也在项目中使用guava和spring,所以如果在那个框架中有一些实用程序,它对我来说仍然没问题。感谢。

0 个答案:

没有答案