JAVA——官方lambda表达式经典教程

本文内容针对于oracle的JAVA教程中,lambda表达式章节

教程围绕“ 如何从 输出所有大于某年龄的职工信息,到 针对性筛选对象并提取信息的通用性函数” 而展开,阅读完整个教程不光能学习到lambda表达式的用法,还可深入体会到所谓 抽象泛化 的概念。

  1. 最直接简单的实现如下,代码思路很简单,依次遍历表中所有职工,逐个判断年龄,符合条件则输出。

    这里有一个特殊遍历方法,python里也有类似的概念。由于List是Iterable的子类,故可使用For-Each Loop

public static void printPersonsOlderThan(
	List<Person> roster, int age) {
   
    for (Person p : roster) {
   
        if (p.getAge() >= age) {
   
            p.printPerson();
        }
    }
}
printPersonsOlderThan(roster, 20);
  1. 那如果想筛选出小于某年龄的呢?重新写一个会显得很麻烦,能否将上一个函数改进一下,让它更general?考虑大于a等价于大于a小于max,小于a等价于大于min小于a,则可将两者抽象合并为某年龄段
public static void printPersonsWithinAgeRange(
    List<Person> roster, int low, int high) {
   
    for (Person p : roster) {
   
        if (low <= p.getAge() && p.getAge() < high) {
   
            p.printPerson();
        }
    }
}
printPersonsWithinAgeRange(roster, 14, 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值