Lambda表达式略解一二

来源:互联网 发布:数据库关系 0 1 编辑:程序博客网 时间:2024/05/16 10:53

Lambda表达式是Jdk1.8的新特性 , 虽然至今距离Jdk1.8发布已经有了三年之久 , 并且Jdk1.9也刚刚发布 ,对于在Jdk1.7中求生存的小白来说 , 已经快要跟不上时代了, 因为学生时代一直是用的1.7对于1.8的新特性新版本还是不是很熟悉 ,不足之处请各位大神指出, 不吝赐教.

Lambda表达式使代码简洁紧凑

//排序import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Main {    public static void main(String[] args) {        List<String> jdk7 = new ArrayList<String>();        //此处是在集合中添加几个字符串        List<String> jdk8 = new ArrayList<String>();        //此处是在集合中添加几个字符串        System.out.println("jdk 1.7排序方式");        JDK7Sort(jdk7);        System.out.println(jdk7);        System.out.println("======================");        System.out.println("jdk 1.8排序方式");        JDK8Sort(jdk8);        System.out.println(jdk8);    }    //jdk8的运行方法    private static void JDK8Sort(List<String> jdk8) {        Collections.sort(jdk8, (s1, s2) -> s1.compareTo(s2));    }    //jdk7的运行方法    private static void JDK7Sort(List<String> jdk7) {        Collections.sort(jdk7, new Comparator<String>() {            @Override            public int compare(String o1, String o2) {                return o1.compareTo(o2);            }        });    }}

运行结果如下:

jdk 1.7排序方式[d, f, j, t, w]=============================jdk 1.8排序方式[d, f, j, t, w]

通过jdk8的方法和jdk7的方法可以很明显的看出来, 通过使用1.8的新特性, 代码确实简洁了不少. 这也是开发的一大福利.

此外还有众多的方法接口:
forEach
以前遍历集合使用forEach循环需要:

List names = new ArrayList();names.add("赵");names.add("钱");names.add("孙");names.add("李");//1.7for (Object name : names) {   System.out.println(name);}//1.8names.forEach(name -> System.out.println(name));//或者names.forEach(System.out::println);

新元素—-> 流 Stream
个人感觉这个Stream真的是非常非常重要 ,很有用 .

http://www.infoq.com/cn/articles/java8-new-features-new-stream-api

infoQ出品的详细解释, 个人觉得收获甚大, 菜鸟的我不敢妄加观点, 因为我对Stream掌握的还不是很熟悉, 所以观摩大神的解释.
.
.
.
.
.
.
参考:

https://www.w3cschool.cn/java/java8-new-features.html

例子来源:

https://www.w3cschool.cn/java/java8-lambda-expressions.html
https://www.w3cschool.cn/java/java8-method-references.html
https://www.w3cschool.cn/java/java8-functional-interfaces.html
https://www.w3cschool.cn/java/java8-default-methods.html

原创粉丝点击