JDK 8 新特性学习(二) Lambda表达式、集合流之操作
来源:互联网 发布:国产蓝牙耳机知乎 编辑:程序博客网 时间:2024/06/07 16:08
JDK 8 新特性学习(二) Lambda表达式、集合流之操作
Lambda表达式
首先说明lamdba的作用:
1. 将函数作为方法参数
2. 将代码当做数据
形式:
(parameter) -> expression
(parameters) -> {}
容易犯的错误,是将lambda这一部分当做实现。lambda应该是作为计算出来的一个值,赋给要用的方法或者函数.
例子:
new Thread(() -> { System.out.println("nokia");}).start();
要点:
- 要使用lamdba表达式,需要定义一个函数式接口
- 在java 8中,只有一个方法的接口的类可以认为是一个函数。然后使用的时候不必声明函数类型,由接口的方法签名自动推导出来。
- java 8中预先定义了一些函数来避免建立过多的lambda接口, 比如Function
集合的流操作
串行和并行的流
流有串行和并行两种,串行流上的操作是在一个线程中依次完成,而并行流则是在多个线程上同时执行。并行与串行的流可以相互切换:通过 stream.sequential() 返回串行的流,通过 stream.parallel() 返回并行的流。
在stream的时候,可以做一些中间操作:
1. filter()对元素进行过滤
2. sorted()对元素排序
3. map() 对元素的映射
4. distinct() 去除重复元素
5. subStream() 获取子Stream
在终止的时候,也可以做一些操作:
1. forEach() 对每个元素做处理
2. toArray() 把元素到导出到数组
3. findFirst() 返回第一个匹配的元素
4. anyMatch() 是否有匹配的元素
- 仍然没有明白lambda的应该具体使用和好处,还需要更多的实践
0 0
- JDK 8 新特性学习(二) Lambda表达式、集合流之操作
- JDK 8新特性学习之Lambda表达式
- java8新特性之lambda表达式(二)
- Java新特性之二Lambda表达式
- Java 8 新特性之 Lambda 表达式
- Java 8 新特性之 Lambda表达式
- jdk1.8 新特性之 lambda表达式
- Java1.8新特性关于lambda表达式与Stream流的使用以及对集合的实用操作
- JDK 1.8 新特性 ( 一) ---- Lambda表达式
- 【基础中心】笔记二--Java8新特性之Lambda表达式
- JDK1.8新特性(二)Lambda表达式入门
- java8新特性(二):Lambda表达式
- Android 使用jdk1.8新特性之lambda表达式
- JDK1.8的新特性之Lambda表达式的应用
- C++ 11 新特性之 lambda表达式
- C++11 新特性之 Lambda表达式
- JDK8新特性之Lambda表达式
- java8新特性之lambda表达式(一)
- 一次使用Android Studio的Git工具解决疑难杂症的经历
- tkinter的message\filedialog\colorchooser无法使用的问题
- 汇编指令的学习2——常用的ARM指令
- 基于深度学习的目标检测(object detection)—— rcnn、fast-rcnn、faster-rcnn
- ubuntu安装Sublime Text 3(并安装anaconda插件)
- JDK 8 新特性学习(二) Lambda表达式、集合流之操作
- RTSP协议、RTMP协议、HTTP协议的区别
- FMDB的使用
- 如何通过抓包抓出rtmp的完整留地址
- 系统对象的方法
- ConcurrentQueue的内存泄露BUG
- poj 2421 Constructing Roads kruskal克鲁斯卡尔最小生成树
- Error: Android SDK not found. Make sure that it is installed. If it is not at the default location,
- (hdu1007)Quoit Design,求最近点对