>我得到了字符串的数组列表,如何将它们简化为哈希映射
输入:[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;
}
);