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);
    }
}
posted @ 2022-10-20 23:06  ShamUnite  阅读(32)  评论(0)    收藏  举报