匿名内部类进行筛选
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+"...");
}
}
}
}