高分悬赏:Java语言统计一篇文章里出现了多少不同的单词,每个单词出现了多少次,按照从多到少的顺序输出
统计次数,可以用 Map ,判断是否存在,不存在就放入,count=1;存在则累加次数。
https://blog.csdn.net/qq_21808961/article/details/78857170
https://blog.csdn.net/weixin_45520658/article/details/107235042 刚写了一个 很ok的
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.stream.Collectors;
public class RcDb {
public static void main(String[] args) {
String ss = "wo de de de woowo de ww dd mm nn mm m";
String[] numstr = ss.split(" ");
ArrayList srcids = new ArrayList<>(Arrays.asList(numstr));
Map collect =srcids.stream()
.collect(Collectors.groupingBy(v->v,Collectors.counting()));
System.out.print(collect);
//结果 {nn=1, mm=2, dd=1, ww=1, de=4, wo=1, m=1, woowo=1}
// 排序
List> ds = collect.entrySet().stream()
.sorted((y,x)->x.getValue().compareTo(y.getValue())).collect(Collectors.toList());
System.out.print(ds);
//结果 [de=4, mm=2, nn=1, dd=1, ww=1, wo=1, m=1, woowo=1]
}
}
// 觉得可以给个赞