必须要掌握的内容:泛型、枚举、反射、lambda表达式、链式编程、函数式接口、Stream流式计算
函数式接口:只有一个方法的接口,只要是函数式接口就可以用lambda表达式简化。
Function函数型接口:只有一个输入参数一个输出
Predicate断定型接口:有一个输入参数,返回值只能是布尔值
Consumer消费型接口:只要输入参数没有返回值
Supplier供给型接口:没有输入参数只有返回值
Stream流式计算:
public class Test{
public static void main(String[] args){
User u1 = new User(1,"a",21);
User u2 = new User(2,"b",22);
User u3 = new User(3,"c",23);
User u4 = new User(4,"d",24);
User u5 = new User(5,"e",25);
//集合就是存储
List<User> list = Arrays.asList(u1,u2,u3,u4,u5);
//计算交给Stream流
list.stream()
.filter(u->{return u.getId()%2==0;})
.filter(u->{return u.getAge()>23;})
.filter(u->{return u.getName().toUpperCase();})
.sorted((uu1,uu2)->{return uu2.compareTo(uu1);})
.limit(1)
.forEach(System.out::println);
}
}