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
- Lambda表达式略解一二
- 函数指针略解一二
- 关于screen的略解一二
- 正则表达式略解
- Javascript之正则表达式略解
- 正则表达式略写
- Lambda Expressions(Lambda表达式)
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- lambda表达式
- lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- gcc -g option flag
- 诗歌十 寒窑赋(破窑赋)天有不测风云,人有旦夕祸福
- Node.js之Global全局对象
- Spring Boot属性配置文件详解
- iOS 限制TextField输入长度(标准)
- Lambda表达式略解一二
- python3安装feedparser
- ORACLE约束总结
- Java 保留小数位时整数位0丢失问题
- SELECT INTO 和 INSERT INTO SELECT
- 深入浅出Java Concurrent,Java并发包整理
- WebSocket简单介绍
- web storage和cookie的区别
- Visual Studio 出现“无法解析的外部符号”错误