lambda
william_919
这个作者很懒,什么都没留下…
展开
-
一、lamda前言:JDK8新特性(接口的静态方法和默认方法)
接口的静态方法和默认方法在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的。由于这些修饰符都是默认的,所以在JDK8之前,下面的写法都是等价的。public interface JDK8BeforeInterface { public static final int field1 =...原创 2019-03-26 09:30:47 · 246 阅读 · 0 评论 -
二、lambda之函数式接口@FunctionalInterface的使用说明
函数式接口@FunctionalInterface的使用说明我们常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解。通过JDK8源码javadoc,可以知道这个注解有以下特点:该注解只能标记在"有且仅有一个抽象方法"的接口上。JDK8接口中的静态方法和默认方法,都不算是抽象方法。接口默认继承jav...原创 2019-03-26 09:40:14 · 848 阅读 · 0 评论 -
三、lambda入门
三、lambda入门之前的文章@FunctionalInterface的使用说明已经介绍了函数式接口,现在我们来了解下JDK8大名鼎鼎的lambda。Runnable traditionalRunnable = new Runnable() { @Override public void run() { System.out.println("traditionalRunnable")...原创 2019-03-26 09:50:49 · 234 阅读 · 0 评论 -
四、lambda之Method References实现方法复用
四、Method References实现方法复用之前的文章已经介绍了函数式接口与lambda表达式,这篇文章主要学习下方法引用。使用方法引用,可以减少lambda表达式的书写,在Stream API中很常用。一段代码对比下lambda与静态方法引用:List<Integer> ids = Arrays.asList(1, 2, 5, 4, 3);// 使用lambda表达式...原创 2019-03-26 10:16:16 · 609 阅读 · 0 评论 -
五、使用stream、Comparator和Method Reference实现集合的优雅排序
五、实现集合的优雅排序大家对java接口Comparator和Comparable都不陌生,JDK8里面Comparable还和以前一样,没有什么改动;但是Comparator在之前基础上增加了很多static和default方法。本文主要结合JDK的stream编程,学习下Comparator。可以使用Stream.sort对集合进行排序,sort有2个重载方法,区别如下。// Stud...原创 2019-03-26 15:29:02 · 1623 阅读 · 0 评论 -
六、lambda之Stream流式编程
一、 什么是 StreamStream 中文称为 “流”,通过将集合转换为这么一种叫做 “流” 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的流水线操作。换句话说,你只需要告诉流你的要求,流便会在背后自行根据要求对元素进行处理,而你只需要 “坐享其成”。二、流操作整个流操作就是一条流水线,将元素放在流水线上一个个地进行处理。其中数据源便是原始集合,然后将如 L...原创 2019-03-26 16:52:22 · 14719 阅读 · 6 评论