Java8 使用stream 实现wordcount
2024-09-06 03:29:28
案例:
public static void main(String[] args) { List<String> items = Arrays.asList("apple", "apple", "banana","apple", "orange", "banana", "papaya", "Hello","word","Hello","beijing","shanghai","china"); /** * 使用 groupingBy和counting */ Map<String, Long> wordCount = items .stream() .collect(Collectors.groupingBy(i -> i,Collectors.counting()) ); //无序结果 System.out.println(wordCount); // 创建stream再次排序 Map<String, Long> finalMap = new LinkedHashMap<>(); wordCount.entrySet().stream() .sorted(Map.Entry.<String, Long>comparingByValue() .reversed()) .forEachOrdered(e -> finalMap.put(e.getKey(), e.getValue())); // 有序结果 System.out.println(finalMap); }
最新文章
- 温故而知新 css + html 超级牛逼的居中策略
- 【动态规划】【二分】【最长上升子序列】Vijos P1028 魔族密码
- photoshop mac版下载及破解
- Android中各种onTouch事件
- Udemy - Angular 2 - The Complete Guide 笔记
- LISTCTRL控件方法
- server.xml 解析
- 前端知识复习: JS选中变色
- 基于三层架构的增删改查Get知识点
- Map.putAll方法
- java中,字符串类型的时间数据怎样转换成date类型。
- 修改docker0默认IP地址
- for each循环(增强for循环)
- Type I and type II errors | 第一类错误和第二类错误
- MySQL 必知必会学习笔记
- C++之强制类型转化
- jqgrid 基础应用
- C++ Error : initial value of reference to non-const must be an lvalue
- Jmeter 爬Boss中注册和登录
- poj_3461 kmp