• 一道题串联lambda表达式、链式编程、函数式接口、Stream流式计算


    一道题串联lambda表达式、链式编程、函数式接口、Stream流式计算

    题目:

    题目要求:一分钟内完成此题,只能用一行代码实现! 现在有5个用户!筛选: 
    1、ID 必须是偶数 
    2、年龄必须大于23岁 
    3、用户名转为大写字母 
    4、用户名字母倒着排序 
    5、只输出一个用户! 
    用户类:
    public class User {
        private int id;
        private String name;
        private int age;
    }
    

    题解:

    import javax.crypto.spec.PSource;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.function.Function;
    import java.util.function.Predicate;
    
    public class Test {
        public static void main(String[] args) {
            /*** 题目要求:一分钟内完成此题,只能用一行代码实现!
             *  现在有5个用户!筛选:
             *  1、ID 必须是偶数
             *  2、年龄必须大于23岁
             *  3、用户名转为大写字母
             *  4、用户名字母倒着排序
             *  5、只输出一个用户!
             *  */
            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(6,"e",25);
            List<User> list = Arrays.asList(u1,u2,u3,u4,u5);
    
            list.stream().filter(u->{return u.getId()%2==0;})
                    .filter(u->{return u.getAge()>23;})
                    .map(u->{return u.getName().toUpperCase();})
                    .sorted((uu1,uu2)->{return uu1.compareTo(uu2);})
                    .limit(1)
                    .forEach(System.out::println);
        }
    }
    

    image-20210421105903238

  • 相关阅读:
    杭电 搜索 1253 胜利大逃亡
    杭电 搜索 1258 Sum It Up
    杭电搜索 2612 Find a way
    杭电 搜索 水题1072 Nightmare
    杭电1175简单搜索 连连看
    杭电 1372 Knight Moves
    杭电 oj Rescue 1242
    杭电 1241 Oil Deposits
    杭电 2100 Children’s Queue
    杭电 1103 Flo's Restaurant
  • 原文地址:https://www.cnblogs.com/sinlearn/p/14684361.html
Copyright © 2020-2023  润新知