Stream流式计算
Stream流式计算
集合/数据库用来进行数据的存储
而计算则交给流
/**
* 现有5个用户,用一行代码 ,一分钟按以下条件筛选出指定用户
*1.ID必须是偶数
*2.年龄必须大于22
*3.用户名转换为大写
*4.用户名字母倒着排序
*5.只输出一个用户
* */
public class Demo {
public static void main(String[] args) {
User u1 = new User(1,"A",20);
User u2 = new User(2,"B",21);
User u3 = new User(3,"C",22);
User u4 = new User(4,"D",23);
User u5 = new User(6,"E",24);
//解法:
//集合用于存储
List<User> list = Arrays.asList(u1, u2, u3, u4, u5);
//计算交给流 Stream流式计算 ->链式程序/lambda表达式/函数型接口/
list.stream()
.filter((u)->{return u.getId()%2==0;})
.filter((age)->{return age.getAge()>22;})
.map((name)->{return name.getName().toUpperCase();})
.sorted((a,b)->{return b.compareTo(a);})
.limit(1)
.forEach(System.out::println);
}
}