java8 新特性Stream流的应用

作为一个合格的程序员,如何让代码更简洁明了,提升编码速度尼。

今天跟着我一起来学习下java 8  stream 流的应用吧。

废话不多说,直入正题。

考虑以下业务场景,有四个人员信息,我们需要根据性别统计人员的姓名。

package com; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Test { public static void main(String[] args) { List<Map<String, String>> list = new ArrayList<>(); Map<String, String> map = new HashMap<>(); map.put("userName", "张三"); map.put("age", "18"); map.put("sex", "男"); list.add(map); Map<String, String> map1 = new HashMap<>(); map1.put("userName", "李四"); map1.put("age", "20"); map1.put("sex", "女"); list.add(map1); Map<String, String> map2 = new HashMap<>(); map2.put("userName", "王五"); map2.put("age", "15"); map2.put("sex", "女"); list.add(map2); Map<String, String> map3 = new HashMap<>(); map3.put("userName", "若风"); map3.put("age", "23"); map3.put("sex", "男"); list.add(map3); //现在我们要根据性别统计人员的姓名 //初级写法 StringBuilder stringBuilder1 = new StringBuilder(); StringBuilder stringBuilder2 = new StringBuilder(); for (Map<String, String> item : list) { //指向当前下标的map System.out.println("item: " + item); if (item.get("sex").equals("男")) { //存性别为男的人员名称,以逗号隔开 stringBuilder1.append(item.get("userName")).append(","); } else { //存性别为女的人员名称,以逗号隔开 stringBuilder2.append(item.get("userName")).append(","); } } //去掉最后一个逗号 String userName_nan = stringBuilder1.deleteCharAt(stringBuilder1.length() - 1).toString(); String userName_nv = stringBuilder2.deleteCharAt(stringBuilder2.length() - 1).toString(); System.out.println("userName_nan: " + userName_nan); System.out.println("userName_nv: " + userName_nv); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfgpj.html