匿名内部类进行筛选

2019-10-09  本文已影响0人  勇者与王者
package lambda;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
* 
* @author qz:
* @version 创建时间:2019年10月9日 上午11:35:51
* 
*/
public class LambdaDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Random r = new Random();
        List<Hero> heros = new ArrayList<Hero>();
        
        for (int i = 0 ; i< 5; i++) {
            heros.add(new Hero("hero "+i, r.nextInt(1000), r.nextInt(100)));
        }
        
        System.out.println("初始化后的集合: ");
        System.out.println(heros);
        System.out.println("使用匿名类的方式,筛选出 hp>100 && damage<50的英雄");
        
        HeroChecker checker = new HeroChecker() {
            
            @Override
            public boolean test(Hero h) {
                // TODO Auto-generated method stub
                return (h.hp>100 && h.damage<50);
            }
        };
        
        filter(heros,checker);
        
        
    }

    private static void filter(List<Hero> heros, HeroChecker checker) {
        // TODO Auto-generated method stub
        for (Hero hero : heros) {
            if (checker.test(hero)) {
                System.out.println(hero+"...");
            }
        }
    }

}

上一篇 下一篇

猜你喜欢

热点阅读