zoukankan      html  css  js  c++  java
  • java8 ->分组案例

    导入包:

    import static java.util.stream.Collectors.counting;
    import static java.util.stream.Collectors.groupingBy;

    java代码:

    /**
         * 分组
         * @Author: Mr.li
         * @Date: 2020/9/8
         */
        @Test
        public void demo5() {
            List<User> list = new ArrayList<User>() {
                {
                    add(new User("妮妮", "1999/01/01", 12,"男"));
                    add(new User("哪儿能", "1999/01/01", 55,"女"));
                    add(new User("爱思", "1999/01/01", 66,"男"));
                    add(new User("依依", "1999/01/01", 77,"女"));
                }
            };
            /*将所有人分为老年人、中年人、青年人*/
    
            /*Map<String, List<User>> result = list.stream()
                    .collect(groupingBy((user) -> {
                        if (user.getAge() > 60)
                            return "老年人";
                        else if (user.getAge() > 40)
                            return "中年人";
                        else
                            return "青年人";
                    }));
            System.out.println(result);*/
    
            /*将所有人分为老年人、中年人、青年人,并且将每个小组再分成:男女两组。*/
    
            /*Map<String, Map<String, List<User>>> result1 = list.stream()
                    .collect(groupingBy((user) -> {
                                if (user.getAge() > 60)
                                    return "老年人";
                                else if (user.getAge() > 40)
                                    return "中年人";
                                else
                                    return "青年人";
                            },
                            groupingBy(User::getSex)));
            System.out.println(result1);*/
            Map<String, Long> result2 = list.stream()
                    .collect(Collectors.groupingBy((person) -> {
                                if (person.getAge() > 60)
                                    return "老年人";
                                else if (person.getAge() > 40)
                                    return "中年人";
                                else
                                    return "青年人";
                            },
                            counting()));
            System.out.println(result2);
        }

    result:

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    JSP_EL使用
    Ajax乱码问题
    Myeclipse安装svn插件(link方式)
    JAVA多线程通信
    Java序列化与反序列化(Serializable)
    Java 字符流实现文件读写操作(FileReader-FileWriter)
    Java 字节流实现文件读写操作(InputStream-OutputStream)
    JAVA环境变量配置
    Flex设置外部浏览器
    J2EE5(Servlet2.5)对EL表达式的支持
  • 原文地址:https://www.cnblogs.com/name-lizonglin/p/13633091.html
Copyright © 2011-2022 走看看