• 集合框架系列教材 (十八)- 其他


    步骤1:聚合操作 

    步骤 1 : 聚合操作 

    JDK8之后,引入了对集合的聚合操作,可以非常容易的遍历,筛选,比较集合中的元素。

    像这样:

    String name =heros

        .stream()

        .sorted((h1,h2)->h1.hp>h2.hp?-1:1)

        .skip(2)

        .map(h->h.getName())

        .findFirst()

        .get();



    但是要用好聚合,必须先掌握Lambda表达式,聚合的章节讲放在Lambda与聚合操作部分详细讲解

    聚合操作

    package lambda;

      

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.Comparator;

    import java.util.List;

    import java.util.Random;

    import charactor.Hero;

      

    public class TestAggregate {

      

        public static void main(String[] args) {

            Random r = new Random();

            List<Hero> heros = new ArrayList<Hero>();

            for (int i = 0; i < 10; i++) {

                heros.add(new Hero("hero " + i, r.nextInt(1000), r.nextInt(100)));

            }

            System.out.println("初始化集合后的数据 (最后一个数据重复):");

            System.out.println(heros);

             

            //传统方式

            Collections.sort(heros,new Comparator<Hero>() {

                @Override

                public int compare(Hero o1, Hero o2) {

                    return (int) (o2.hp-o1.hp);

                }

            });

             

            Hero hero = heros.get(2);

            System.out.println("通过传统方式找出来的hp第三高的英雄名称是:" + hero.name);

             

            //聚合方式

            String name =heros

                .stream()

                .sorted((h1,h2)->h1.hp>h2.hp?-1:1)

                .skip(2)

                .map(h->h.getName())

                .findFirst()

                .get();

            System.out.println("通过聚合操作找出来的hp第三高的英雄名称是:" + name);

             

        }

    }


    更多内容,点击了解: https://how2j.cn/k/collection/collection-aggregate/702.html

  • 相关阅读:
    3、SpringBoot执行原理
    10、@Controller跟@RestController注解的使用
    2、Spring项目的创建【官网跟IDEA】
    1、了解SpringBoot
    PHP算法之IP 地址无效化
    PHP算法之宝石与石头
    MYSQL查询查找重复的电子邮箱
    PHP算法之猜数字
    PHP算法之盛最多水的容器
    PHP算法之回文数
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615486.html
Copyright © 2020-2023  润新知