【发布时间】:2020-09-09 07:10:03
【问题描述】:
我正在尝试学习 Java Stream API,我有以下代码
List<HashMap<String, HashMap<String, String>>> map2 = new ArrayList<>();
HashMap<String, String> innerMap = new HashMap<>();
innerMap.put("a1", "hermione");
innerMap.put("a2", "harry");
innerMap.put("a3", "ron");
HashMap<String, HashMap<String, String>> outermap = new HashMap<>();
outermap.put("friends", innerMap);
List<HashMap<String, HashMap<String, String>>> list = new ArrayList<>();
list.add(outermap);
我想从内部地图中删除 harry,并且应该保留相同的结构 (List<HashMap<String, HashMap<String, String>>>),我如何使用 Streams API 来实现?
【问题讨论】:
-
Streams 不会修改底层对象,而是会根据您的操作为您提供一个新对象。
-
附带说明,我建议您使用类来建模数据,而不是使用复杂的嵌套地图来表示朋友列表。遵循 OOP 是继续进行的理想方式,它将使您在编程方面的生活变得更好。
标签: java dictionary java-8 java-stream