码迷,mamicode.com
首页 > 编程语言 > 详细

Java自学-集合框架 聚合操作

时间:2020-01-09 20:42:29      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:sorted   表达式   blog   必须   cto   and   ima   方式   return   

聚合操作

步骤 1 : 聚合操作

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

像这样:

String name =heros
    .stream()
    .sorted((h1,h2)->h1.hp>h2.hp?-1:1)
    .skip(2)
    .map(h->h.getName())
    .findFirst()
    .get();

但是要用好聚合,必须先掌握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);
         
    }
}

Java自学-集合框架 聚合操作

标签:sorted   表达式   blog   必须   cto   and   ima   方式   return   

原文地址:https://www.cnblogs.com/jeddzd/p/12173222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!