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)); } } }