stream 流计算

package com.atguigu.stream;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.sql.SQLOutput;
import java.util.*;
import java.util.stream.Collectors;

public class stream {
    public static void main(String[] args) {
        User u1= new User(11,"a",23);
        User u2= new User(12,"b",24);
        User u3= new User(13,"a",22);
        User u4= new User(14,"b",28);
        User u5= new User(16,"e",26);
        User u6= new User(16,"e",27,"111",new Date());
        User u7= new User(16,"e",27,"111",new Date());
     List<User> list=  Arrays.asList(u1,u2,u3,u4,u5,u7,u6);
        List<User> newList = new ArrayList<>();
     list.stream().filter(u ->{
         return u.getId()%2==0;
     }).filter( t ->{
         return t.getAge()>25;
     }).sorted(
             Comparator.comparing(User::getTime,Comparator.nullsLast(Date::compareTo))
          //   Comparator.comparing(User::getAge).thenComparing(User::getTime)
             )

             .limit(5)
             .forEach(newList::add);
       // .collect(Collectors.toCollection(ArrayList::new));

        newList.forEach(System.out::println);

        Map<String,List<User>> map =  newList.stream().collect(Collectors.groupingBy(User::getName));
        Set ketSet = map.keySet();
        System.out.println(ketSet);
        for (Object key:ketSet){
            System.out.println(key + " 同学:");
            System.out.println(map.get(key));
        }


    }



}
原文地址:https://www.cnblogs.com/javakangkang/p/15293195.html