[Java基础]体验Stream流
代码如下:
package StreamTest;import java.lang.reflect.Array;
import java.util.ArrayList;public class StreamDemo {public static void main(String[] args){ArrayList<String> list = new ArrayList<String>();list.add("Tom");list.add("jack");list.add("张敏");list.add("张无忌");list.add("刘洋");list.add("Bom");list.add("张曼玉");ArrayList<String> zhangList = new ArrayList<String>();for (String s:list){if (s.startsWith("张"))zhangList.add(s);}System.out.println(zhangList);ArrayList<String> threeList = new ArrayList<String>();for(String s:zhangList){if (s.length()==3){threeList.add(s);}}System.out.println(threeList);}
}
测试结果:
我们可以看到,按照需求实现以后,仅仅只是两个简单的过滤操作,我们就写了那么长的代码,那我们有没有办法有更好的方式实现这样的需求呢?
sure,用Stream流
代码如下:
package StreamTest;import java.lang.reflect.Array;
import java.util.ArrayList;public class StreamDemo {public static void main(String[] args){ArrayList<String> list = new ArrayList<String>();list.add("Tom");list.add("jack");list.add("张敏");list.add("张无忌");list.add("刘洋");list.add("Bom");list.add("张曼玉");//Stream流来改进
// list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(s -> System.out.println(s));list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(System.out::println);}
}
测试结果:
[Java基础]体验Stream流相关推荐
- Java基础(十一) Stream I/O and Files
Java基础(十一) Stream I/O and Files 1. 流的概念 程序的主要任务是操纵数据.在Java中,把一组有序的数据序列称为流. 依据操作的方向,能够把流分为输入流和输出流两种.程 ...
- 【java笔记】Stream流(1)你知道什么叫Stream流吗?
JDK8 中的 Stream 是对集合(Collection)对象功能的增强,它借助于lambda表达式,更优雅的表达风格,极大的提高编程效率和程序可读性.它针对于对集合对象进行各种非常便利.高效的聚 ...
- 【java笔记】Stream流(2):获取流的两种方法
获取一个流通常有两种方式: ●所以的Collection集合都可以通过stream默认方法获取流 ●Stream接口的静态方法of可以获取数组对应的流 根据Collection集合获取Stream流 ...
- 【Java基础】· IO流习题详解
写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...
- Java基础--I/O流知识总结
Java基础–I/O流知识总结 文章目录 Java基础--I/O流知识总结 引言 Java中IO的结构体系 字节流(InputStream/OutputStream) FileInputStream/ ...
- Java基础学习—— IO流
Java基础学习-- IO流 1 文件 1.1 文件的创建 1.2 文件常用的方法 2 IO流 2.1 FileInputStream 2.2 FileOutputStream 2.3 文件的拷贝 2 ...
- java基础学习_IO流03_字符流、IO流小结、案例_day21总结
java基础学习_IO流03_字符流.IO流小结.案例_day21总结 ================================================================ ...
- java day24【Stream流、方法引用】
第一章 Stream流 说到Stream便容易想到I/O Stream,而实际上,谁规定"流"就一定是"IO流"呢?在Java 8中,得益于Lambda所带来的 ...
- Java基础之IO流操作
第14章 File类与IO流 主要内容 File类 字节流 字符流 文件流 缓冲流 转换流 数据流 对象流 打印流 Scanner与System与IO流 教学目标 使用File类对象表示文件或目录 能 ...
最新文章
- 分布式多层次限流概述
- windows下mysql启动脚本
- 单元测试命名最佳实践[关闭]
- 35. Leetcode 328. 奇偶链表 (链表-双指针)
- 第一个 python for maya
- boost::geometry::densify用法的测试程序
- 《剑指offer》链表中倒数第k个结点
- python第三章上机实践_《机器学习Python实践》读书笔记-第三章
- C++:从C继承的标准库
- jQuery.position()其实不可靠!
- 机器学习recall含义_机器学习的业务含义
- 协程 vs 线程 demo
- 数组元素在删减的同时进行遍历的操作,程序崩溃问题
- C C++回调函数和java的回调函数
- VUE实现SQL在线编辑器,SQL分析器,SQL代码关键字提示
- 【新书速递】计算机系统解密:从理解计算机到编写高效代码
- win10如何打开摄像头_1809版Win10系统启动相机提示0x800706be解决方法是什么?
- tp6 api请求返回参数统一配置方法
- 阿里云商标注册申请智能、顾问和安心区别及选择攻略
- 450米、90米、30米全国地形图DEM数据对比与分享
热门文章
- 【北斗】北斗卫星导航系统(BDS)介绍
- Android之导入项目提示Android requires compiler compliance level 5.0 or 6.0. Found ‘1.8‘ instead解决办法
- linux之more命令
- 栈和队列之生成窗口最大值数组
- Android之获取屏幕和视图高和宽
- odbc mysql 配置文件_ODBC连接主流数据库的配置方法
- 疯狂福利 | 美剧《天赋异禀》1-2季免费送!播放超12亿!刷了整整一晚上,太上头!...
- 硬货 | 一片小小的薄膜,却可以粘住全世界!
- 放弃Python转向Go语言:我们找到了以下9大理由
- seata xid是什么_使用Seata彻底解决Spring Cloud中的分布式事务问题!