JAVA8 Lambda(1)
2017-07-19 19:57
120 查看
一.简介
在java8中新加入的功能,并且引入了2个对集合数据进行批量操作的包: java.util.function 包以及 java.util.stream 包。后面我会研究怎么去用,与大家分享,并一起学习。有人说是抄袭.net的,在我看来其实取其精华,去其糟粕。为什么使用lambda表达式?因为编译器推断并帮你转换包装为常规的代码,他可以让你代码更加的简洁。但是让维护人员可能会更加头疼,可能你写完之后维护会在背后问候你全家。
二.Lambda表达式的语法
ambda表达式的语法可以是: 1.参数列表、箭头符号->和函数体组成。 (parameters) -> expression
2.参数列表、箭头符号->和语句块组成。(parameters) ->{ statements; }
给大家举个例子:
1.(int i, int j) -> i+j 这是第一种由 参数列表、箭头符号->和函数体组成。返回的是i+j的合。如果不需要参数,直接写个()就可以。
2.(int i) ->{System.out.printIn(i)} 这是由参数列表、箭头符号->和语句块组成。 语句块里面内容就像是写方法一样就可以,语句块用{}括起来。
虽然java是强类型语言,lambda表达式官网说是自己能推断出类型的,也就是说我们不需要显示的指定其类型,再举个例子:
List list = new ArrayList();循环这个list可以这么写:
1.for(int i = 0; i < list.size() ;i++){}
2.for(String str : list){}
3.list.forEach(obj->{System.out.printIn(i)}) 未指定类型
4.list.stream().filter(str -> 处理) 未指定类型
你觉得哪种方法写起来更方便?不过java8里面的foreach这个循环效率经过测试是要比for的效率低,也可能是因为数据太少的原因。要想追求效率可能用for会更快。
未完待写……
相关文章推荐
- 使用java8的lambda将list转为map
- java8新特性Lambda表达式
- Java 8 lambda表达式
- Java8 Lambda
- 深入理解Java 8 Lambda-类库篇
- 用Java 8 lambda优化JDBC
- Java 8 新增特性Lambda表达式
- Java8引入函数接口,与原有接口多重继承带来的缺陷——走进Java Lambda(三)
- Java8中的[方法引用]“双冒号”——走进Java Lambda(四)
- java Lambda表达式
- Java8 Lambda表达式详解
- Java 8 Lambda : Comparator 示例
- java函数式编程之lambda表达式
- java8 lambda表达式之Stream API的用法实践
- 什么是lambda expressions in java
- java8学习笔记之lambda表达式
- java8之Lambda表达式 2:内建函数式接口
- java8——使用lambda和枚举实现简洁、可读性良好的策略模式
- java8 lambda排序
- Java Lambda表达式入门