Java 流归约到映射



>我得到了字符串的数组列表,如何将它们简化为哈希映射

输入:[a, b, a, a, c, x]

输出:{(a: 3), (b: 1), (c: 1), (x: 1)}

附言。我搜索了这个。我需要用reduce而不是像其他问题那样使用频率计数来做到这一点,因为我的问题是一个简化的实际任务。

感谢@HadiJ的回答

Map<String,Integer> result = Arrays.stream(str)
.reduce(new HashMap<>(), (hashMap, e) -> {
hashMap.merge(e, 1, Integer::sum);
return hashMap;
},
(m, m2) -> {
m.putAll(m2);
return m;
}
);

最新更新