我有一张地图:
Map<String, List<Object>> dataMap;
Run Code Online (Sandbox Code Playgroud)
现在我想向地图添加新的键值对,如下所示:
if(dataMap.contains(key)) {
List<Object> list = dataMap.get(key);
list.add(someNewObject);
dataMap.put(key, list);
} else {
List<Object> list = new ArrayList();
list.add(someNewObject)
dataMap.put(key, list);
}
Run Code Online (Sandbox Code Playgroud)
我如何使用Java8功能样式?
我尝试从地图填充列表。如果列表是NULL我将创建一个新列表并添加一个新创建的元素,否则将此元素添加到现有列表中。
我想知道在 JAVA8 中是否有更优雅的解决方案。任何帮助表示赞赏。
Map<String, List<MyObject>> myMap = new HashMap<>();
List<MyObject> list = myMap.get("key");
myMap.put("key", list == null ? Arrays.asList(new MyObject()) : Arrays.asList(list, new MyObject()));
Run Code Online (Sandbox Code Playgroud)