java - 使用 Java8 Stream API 合并两个 hashmap 列表

标签 java collections java-8 java-stream

我有两个 ListHashMap:

List<HashMap<String,String>> a = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> b = new ArrayList<HashMap<String,String>>();

示例数据:

a = [{a1=1, b1=2, c=3},{a2=4, b2=5, c=6}]
b = [{d1=7,c=3},{d2=8,c=6}]

我想合并两个 List 并使用具有输出的 Stream API 得到 HashMap 的最终 List:

c = [{a1=1, b1=2, c=3, d1=7},{a2=4, b2=5, c=6, d2=8}]

有什么帮助吗?

最佳答案

有时 Stream API 不是答案。在这种情况下,常规循环将更具可读性和可维护性。您甚至可以在循环中添加注释来解释它为什么做某事而不会使代码不可读。 Stream API 使平凡的事情变得非常简单,使复杂的事情变得更加复杂。

除非是家庭作业,否则就是愚蠢的家庭作业。学校作业不应鼓励学生在错误的地方使用愚蠢的结构。

在现实世界中,可读性和可维护性对于行数或聪明度分数至关重要。

关于java - 使用 Java8 Stream API 合并两个 hashmap 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51759421/

相关文章:

java - PlayWS - 当请求超时时如何抛出异常?

java - 使用迭代器与收集完成流?

java - android:闹钟在某个特定时间间隔之间停止

java - 数组中唯一元素的数量

java - Jackson Mapper - 如何在 null 或空值上失败

json - 解析 JSON、MS Access VBA(嵌套循环)

java - 在java中迭代和修改集合时创建临时缓冲区的优点

java-8 - 如何根据特定条件将流拆分为多个流?

java - 带有 OpenJDK 10 和 OpenJFX 的 MacOS X 上的 JavaFX 中的 HeadlessException

ruby - 遍历 ruby​​ Hash 时并发修改