我正在使用这样的并发哈希映射:
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,所以如果在那个框架中有一些实用程序,它对我来说仍然没问题。感谢。