没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
深入解析深入解析Jdk8中中Stream流的使用让你脱离流的使用让你脱离for循环循环
主要介绍了Jdk8中Stream流的使用,让你脱离for循环,本文给大家介绍的非常详细,具有一定的参考借鉴价值,
需要的朋友可以参考下
学习要求:
知道一点儿函数式接口和Lambda表达式的基础知识,有利于更好的学习。
1.先体验一下先体验一下Stream的好处的好处
需求:给你一个ArrayList用来保存学生的成绩,让你打印出其中大于60的成绩。
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<>();
for (int i = 0; i < 100; i++) {
arrList.add((int) (Math.random() * 100));
}
printValue1(arrList);
}
解决方案一:解决方案一:
当然就是遍历这个ArrayList,然后使用if判断一下,如果其大于60,就将其输出,代码如下:
private static void printValue1(ArrayList<Integer> arrList) {
for (Integer i : arrList) {
if (i > 60) {
System.out.printf("%d ",i);
}
}
}
解决方案二:
使用Stream流操作,只需要一行代码
/**
* 使用Stream操作
*
* @param arrList
*/
private static void printValue2(ArrayList<Integer> arrList) {
arrList.stream().filter(i -> i > 60).forEach(System.out::println);
}
2.什么是什么是Stream流?流?
在Jdk1.8中引入了stream流的概念,这个“流”并不同于IO中的输入和输出流,它是Jdk中的一个类,具体位置在:
java.util.stream.Stream
关于它的操作主要分为三种:获取流、中间操作、最终操作
2.1 如何获取流?如何获取流?
所谓获取流,就是将其他对象(非Stream对象)转为Stream对象。只有两类对象可能转化为Stream对象,分别是:
数组(这个数组中的元素必须是引用类型)
Integer[] iArr = {12, 14, 15, 15, 17, 19, 22};
Stream<Integer> stream1 = Stream.of(iArr);
集合
List<T> list = new ArrayList<T>();
Stream<T> stream = list.stream();
2.2 中间操作(返回的是一个新的Stream对象)
从上边获取这个流对象时,我们就可以这个Stream对象进行操作,在执行结束操作前,可以无限次的执行这个操作。在开发
工具中可以看到这个类的源码,它的主要有以下几种操作:
资源评论
weixin_38557530
- 粉丝: 5
- 资源: 897
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高等数学第一章第二节数列的极限
- Python 版冒泡排序算法源代码
- tensorflow-gpu-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- tensorflow-2.7.3-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp39-cp39-manylinux2010-x86-64.whl
- Python版本快速排序源代码
- Python 语言版的快速排序算法实现
- 450815388207377安卓_base.apk
- 超微主板 X9DRE-TF+ bios 支持 nvme启动
- 基于Python通过下载气象数据和插值拟合离散数据曲线实现对寒潮过程的能量分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功