how2j.cn


工具版本兼容问题
假设一个情景: 找出满足条件的Hero
本教程将从使用普通方法匿名类,以及Lambda这几种方式,逐渐的引入Lambda的概念


本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



20分39秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 普通方法   
步骤 2 : 匿名类方式   
步骤 3 : Lambda方式   
步骤 4 : 设置eclipse以支持Lambda   
步骤 5 : 从匿名类演变成Lambda表达式   
步骤 6 : 匿名方法   
步骤 7 : Lambda的弊端   
步骤 8 : 练习-Comparator   
步骤 9 : 答案-Comparator   

使用一个普通方法,在for循环遍历中进行条件判断,筛选出满足条件的数据

hp>100 && damage<50
普通方法
package lambda; import java.util.ArrayList; import java.util.List; import java.util.Random; import charactor.Hero; public class TestLambda { 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); System.out.println("筛选出 hp>100 && damange<50的英雄"); filter(heros); } private static void filter(List<Hero> heros) { for (Hero hero : heros) { if(hero.hp>100 && hero.damage<50) System.out.print(hero); } } }
package charactor; public class Hero implements Comparable<Hero>{ public String name; public float hp;