2019独角兽企业重金招聘Python工程师标准>>>

我们不需要任何枯燥的说明式的东西,直接上代码,我们看一下lambda究竟能够干些什么?

例子1,遍历一个list:

// before java 8
for (String s : lst){System.out.println(s);
}//java 8
lst.forEach(s -> System.out.println(s));

例子2,实现接口:

Thread thread1 = new Thread(new Runnable() {@Override
    public void run() {System.out.println("before java 8");}
});Thread thread2 = new Thread(() -> System.out.println("in java 8"));

例子3,function interface:

public static void main(String[] args){List<Integer> lst = Arrays.asList(0,1,2,3,4,5,6,7,8,9);pickInt(lst, (i) ->( i % 2 == 0));System.out.println();pickInt(lst, (i) ->( i > 3));System.out.println();pickInt(lst, (i) ->( i <= 3));
}public static void pickInt(List<Integer> lst, Predicate<Integer> condition){for (int i : lst){if (condition.test(i)){System.out.print(i);}}
}

java 8当中多了一个package,java.util.function,当中提供了大量的function interface,为我们更好地使用lambda表达式,提供了丰富的接口支持。后续,我们会有一篇专门的文章来介绍function interface的使用。

总结:lambda表达式的引入,是java向函数式编程迈进的一小步。

转载于:https://my.oschina.net/dongtianxi/blog/757628

java 8 lambda表达式相关推荐

  1. 10个Java 8 Lambda表达式经典示例

    Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表 达式,它将允许我们将行为传到函数里.在J ...

  2. Java 8 Lambda 表达式详解

    版权声明:本文由吴仙杰创作整理,转载请注明出处:https://segmentfault.com/a/1190000009186509 1. 引言 在 Java 8 以前,若我们想要把某些功能传递给某 ...

  3. Java 8 Lambda表达式-接口实现

    Java 8 Lambda表达式在只有一个方法的接口实现代码编写中,可以起到简化作用: (argument list) -> body 具体看Runnable接口的例子 public class ...

  4. 这是一个有趣的问题,Java 8 Lambda 表达式被编译成了什么?

    在了解了Java 8 Lambda的一些基本概念和应用后, 我们会有这样的一个问题: Lambda表达式被编译成了什么? 这是一个有趣的问题,涉及到JDK的具体的实现.本文将介绍OpenJDK对Lam ...

  5. Java 8 Lambda 表达式被编译成了什么?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取个gui 在了解了Java 8 Lambda的一些基本概念和应用后, 我们会 ...

  6. java 8 lambda表达式中的异常处理

    文章目录 简介 处理Unchecked Exception 处理checked Exception 总结 java 8 lambda表达式中的异常处理 简介 java 8中引入了lambda表达式,l ...

  7. 设计模式的Java 8 Lambda表达式–命令设计模式

    在本博客中,我将说明如何使用Java 8 Lambda表达式以函数式编程方式实现命令模式 . 命令模式的目的是将请求封装为对象,从而为具有不同请求,队列或日志请求的客户端参数化,并支持相应的操作. 命 ...

  8. Java 8 Lambda表达式的函数式编程– Monads

    什么是monad ?: monad是一种设计模式概念,用于大多数功能编程语言(如Lisp)或现代世界的Clojure或Scala中. (实际上,我会从scala复制一些内容.)现在,为什么它在Java ...

  9. 深入浅出 Java 8 Lambda 表达式

    摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等.本文系 OneAPM 工程师编译整理. Java 是一流的面向对象语言,除了部分简 ...

  10. Java 8 Lambda表达式10个示例【存】

    PS:不能完全参考文章的代码,请参考这个文件http://files.cnblogs.com/files/AIThink/Test01.zip 在Java 8之前,如果想将行为传入函数,仅有的选择就是 ...

最新文章

  1. OpenAirInterface,开源的 4G EPS 实现
  2. Keil进入仿真,窗口不显示程序运行箭头
  3. java特征向量计算_用Java和Python计算特征向量的差异
  4. 黑暗城堡-(最小生成树+最短路)
  5. 四种ASP网页跳转代码
  6. Synchronized及其实现原理
  7. 数据结构与算法之栈入门题目
  8. 几何级数 函数 matlab,matlab 实验05数据的统计分析
  9. Qt|Http笔记-两种方式发送http协议数据,获取服务器数据(GET方法)
  10. 电商美工必备,品质超高的万能套用促销PSD分层模板,宝藏!
  11. @autowired注解原理_Spring框架第二谈:IOC,xml配置文件给属性赋值,注解实现赋值...
  12. matlab如何记录时间,求助:在MATLAB里如何输入时间序列中的时间
  13. 几个阿里,美团,腾讯大佬的公众号!超级变态!
  14. win10更改了用户名后远程登录还要用原来的用户名怎么修改
  15. Android Pitfall - 扒一扒RadioGroup 和 RadioButton
  16. 2022年双非计算机保研经历分享(浙大、北航、中科院等)
  17. 再谈java内存模型
  18. 更新Win11后游戏严重掉帧怎么办?
  19. 安装西门子博图一直重启_博图软件更新安装老是提示重启,咋解决啊-工业支持中心-西门子中国...
  20. 前端分页功能(封装好的组件)

热门文章

  1. 车道检测--VPGNet: Vanishing Point Guided Network for Lane and Road Marking Detection and Recognition
  2. 模型裁剪--Rethinking the Value of Network Pruning
  3. 语义分割-- SegNet:A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation
  4. java swing 文件选择,设置默认文件选择路径,桌面路径
  5. LeetCode 144. Binary Tree Preorder Traversal--二叉树前序遍历--反向压栈--迭代-栈,递归--C++,Python解法
  6. PAT甲级(Advanced Level)真题-- 1062 To Buy or Not to Buy
  7. C++_泛型编程与标准库(五)
  8. 怎么改mnist数据的标签_【Pytorch】多个数据集联合读取
  9. 关于Java 垃圾收集器你应该知道这些
  10. k8s-ingress 413 Request Entity Too Large