Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java流简化为映射_Java_Java Stream - Fatal编程技术网

Java流简化为映射

Java流简化为映射,java,java-stream,Java,Java Stream,我得到了字符串的数组列表,如何将它们减少到哈希映射 输入:[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) -> {

我得到了字符串的数组列表,如何将它们减少到哈希映射

输入:
[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;
    }
);
Map result=Arrays.stream(str)
.reduce(新的HashMap(),(HashMap,e)->{
merge(e,1,Integer::sum);
返回hashMap;
},
(米,平方米)->{
m、 普塔尔(m2);
返回m;
}
);

它必须是一个副本。你搜索得有多努力?@ArvindKumarAvinash不,我需要使用reduce,而不是frequency@ejbñЛббббббббббббббббббббббб,(m,m2)->{m.putAll(m2);返回m;})但是其他解决方案更具可读性和简洁性。@HadiJ谢谢,这不是关于可读性的,我简化了我的实际任务,这就是为什么我要问reduce。再次感谢你。