使用java-8,你可以这样做:String[] array = {"name1","name2","name3","name4", "name5", "name2"};Arrays.stream(array)
.collect(Collectors.groupingBy(s -> s))
.forEach((k, v) -> System.out.println(k+" "+v.size()));
输出:name5 1name4 1name3 1name2 2name1 1
它的作用是:Stream从原始数组创建一个
按身份对每个元素进行分组,得到a Map>
对于每个键值对,打印键和列表的大小
如果你想获得一个Map包含每个单词出现次数的数据,可以这样做:Map map = Arrays.stream(array)
.collect(Collectors.groupingBy(s -> s, Collectors.counting()));
有关更多信息:Stream
Collectors
希望能帮助到你!:)