jkd1.8 list.stream()练习

List<Student> studentList =  Arrays.asList(new Student("小强",  "女",11),new Student("小玲",  "女",15),new Student("小虎", "男",34),new Student("小雨",  "女",45),new Student("小飞",  "男",19),new Student("小玲",  "女",33));//分组--key升序TreeMap<Integer,List<Student>> map = studentList.stream().collect(Collectors.groupingBy(student -> { return student.getSex().equals("男")?1:2;},TreeMap::new, Collectors.toList()));System.out.println(map.toString());//降序输出System.out.println(map.descendingMap().toString());Map<String,List<Student>> map2 = studentList.stream().collect(Collectors.groupingBy(Student::getSex));map.get(1).forEach(student -> System.out.println(student.toString()));map.get(2).forEach(student -> System.out.println(student.toString()));System.out.println("**********");//排序studentList.stream().sorted(Comparator.comparing(student -> student.getAge())).forEach(student -> System.out.println(student.toString()));System.out.println("**********");//过滤studentList.stream().filter(student -> student.getSex().equals("男")).collect(Collectors.toList()).forEach(student -> System.out.println(student.toString()));System.out.println("**********");//多条件去重//minSystem.out.println(studentList.stream().mapToInt(Student::getAge).min().getAsInt());//maxSystem.out.println(studentList.stream().mapToInt(Student::getAge).max().getAsInt());//averageSystem.out.println(studentList.stream().mapToInt(Student::getAge).average().getAsDouble());//sumSystem.out.println(studentList.stream().mapToInt(Student::getAge).sum());//namesList<String> names = studentList.stream().map(Student::getName).collect(Collectors.toList());System.out.println(names.toString());//分组,返回的Map有序Map<String,List<Student>> maps = studentList.stream().collect(Collectors.groupingBy(Student::getSex,TreeMap::new,Collectors.toList()));System.out.println(maps.toString());//提取list中两个属性值,转为map (v1,v2)->v1 防止key重复报错Map<String,Integer> studentMap = studentList.stream().collect(Collectors.toMap(Student::getName,Student::getAge,(v1,v2)->v1));System.out.println(studentMap.toString());

 

jkd1.8 list.stream()练习

List<Student> studentList =  Arrays.asList(new Student("小强",  "女",11),new Student("小玲",  "女",15),new Student("小虎", "男",34),new Student("小雨",  "女",45),new Student("小飞",  "男",19),new Student("小玲",  "女",33));//分组--key升序TreeMap<Integer,List<Student>> map = studentList.stream().collect(Collectors.groupingBy(student -> { return student.getSex().equals("男")?1:2;},TreeMap::new, Collectors.toList()));System.out.println(map.toString());//降序输出System.out.println(map.descendingMap().toString());Map<String,List<Student>> map2 = studentList.stream().collect(Collectors.groupingBy(Student::getSex));map.get(1).forEach(student -> System.out.println(student.toString()));map.get(2).forEach(student -> System.out.println(student.toString()));System.out.println("**********");//排序studentList.stream().sorted(Comparator.comparing(student -> student.getAge())).forEach(student -> System.out.println(student.toString()));System.out.println("**********");//过滤studentList.stream().filter(student -> student.getSex().equals("男")).collect(Collectors.toList()).forEach(student -> System.out.println(student.toString()));System.out.println("**********");//多条件去重//minSystem.out.println(studentList.stream().mapToInt(Student::getAge).min().getAsInt());//maxSystem.out.println(studentList.stream().mapToInt(Student::getAge).max().getAsInt());//averageSystem.out.println(studentList.stream().mapToInt(Student::getAge).average().getAsDouble());//sumSystem.out.println(studentList.stream().mapToInt(Student::getAge).sum());//namesList<String> names = studentList.stream().map(Student::getName).collect(Collectors.toList());System.out.println(names.toString());//分组,返回的Map有序Map<String,List<Student>> maps = studentList.stream().collect(Collectors.groupingBy(Student::getSex,TreeMap::new,Collectors.toList()));System.out.println(maps.toString());//提取list中两个属性值,转为map (v1,v2)->v1 防止key重复报错Map<String,Integer> studentMap = studentList.stream().collect(Collectors.toMap(Student::getName,Student::getAge,(v1,v2)->v1));System.out.println(studentMap.toString());