java中steam流的使用
(1)数组合并 : 原始合并 定义俩个集合合并为一个集合
例子: public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {final ArrayList<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");final ArrayList<String> strings = new ArrayList<>();strings.add("小王");ArrayList sum = new ArrayList<String>();//遍历listlist.forEach(s -> {sum.add(s);});strings.forEach(s -> {sum.add(s);});for (Object o : sum) {System.out.println(o);}}
}
steam使用流合并
public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {final ArrayList<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");final ArrayList<String> strings = new ArrayList<>();strings.add("小王");//合并集合concat//list.stream()获取流对象Stream.concat(list.stream(),strings.stream()).forEach(System.out::println);}}
(2)steam流的长度如何获取
public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {final ArrayList<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");final ArrayList<String> strings = new ArrayList<>();strings.add("小王");//原始获取System.out.println(list.size());//使用流获取System.out.println(list.stream().count());}
}
如何使用steam流过滤某些字段
/**
*找出集合中叫张的人 以及他名称是3位数的 答案 张三丰 张无忌
*/
例子1 原始public static void main(String [] args) throws Exception {final ArrayList<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");list.forEach(s -> {if (s.startsWith("张")){if (s.length()==3){System.out.println(s);}}});}//------------------------过滤流写法-------------------------------------------public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {final ArrayList<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");filter 过滤 已前缀过滤 s.length他的长度为3的list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length()==3).forEach(System.out::println);}}
截取集合中的前三位数
public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {final ArrayList<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");//原始截取方法for (int i = 0; i < list.size(); i++) {if (i<=2){System.out.println(list.get(i));}}//steam流的方式截取集合前三个属性final List<String> collect = list.stream().limit(3).collect(Collectors.toList());System.out.println(collect);}
跳过集合中的某些属性
public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {final ArrayList<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");//原有的for (int i = 0; i < list.size(); i++) {if (i>2){System.out.println(list.get(i));}}//steam流中的list.stream().skip(3).forEach(System.out::println);}
}
流中如何去重
public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {final ArrayList<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");list.add("张三丰");/* final HashSet<String> strings = new HashSet<>();for (String s : list) {strings.add(s);}System.out.println("----遍历去重后的结果----");strings.stream().forEach(s -> {System.out.println(s);});*///现在的去重如何实现list.stream().distinct().forEach(System.out::println);}}
steam流中如何排序
public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {final ArrayList<Integer> list = new ArrayList<>();list.add(3);list.add(7);list.add(2);list.add(8);list.add(1);//原始排序(默认是顺序) 也可以使用冒泡排序 或者快速排序 这个是调用java中的工具类实现的排序/* Collections.sort(list);*///倒叙排列/* Collections.reverse(list);*///从大到小排列//Collections.sort(list,Collections.reverseOrder());list.stream().sorted().forEach(System.out::println);//System.out.println(list);}
}
数组如何通过流的方式转化为集合
public static void main(String [] args) throws Exception {int[] a = {1, 2, 3, 4, 5};final List<Integer> collect = Arrays.stream(a).boxed().collect(Collectors.toList());System.out.println(collect);}}
如何使用流调出数组最大值
public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {int[] a = {1, 2, 3, 4, 5};final OptionalInt max = Arrays.stream(a).max();System.out.println(max);}
}
流中至少满足一个要求''allMatch allMatch
(全部满足)
public class 测试 {/*** 把小王合道* list中* */public static void main(String [] args) throws Exception {int[] a = {1, 2, 3, 4, 5};final boolean b = Arrays.stream(a).allMatch(c -> c > 0);System.out.println(b);//true}
}
java中steam流的使用相关推荐
- Java中Steam流的用法及使用备忘
文章目录 Java中Steam流的用法及使用备忘 一. 流的常用创建方法 1-1 使用Collection下的 stream() 和 parallelStream() 方法 1-2 使用Arrays ...
- 关于java中Steam流的探索
为了更好利用java提供的各种东西,今天在这里对Stream进行探索. 在日常开发中肯定是少不了对于集合的操作,无论是创建的查所有.求和.求最值等都需要涉及到集合,这个时候我通常都是套上for循环代码 ...
- java中字符流 字节流_理解Java中字符流与字节流的区别
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可 ...
- Java中IO流的总结
有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...
- java中各种流的详细使用
http://hunulei.blogbus.com/logs/2005/07/1296309.html http://java.sun.com/docs/books/tutorial/essenti ...
- java 中的流_Java中的流(IO
Java中的流(IO流. java.io包中定义了多个流类型(类或抽象类)来实现 输入 / 输出功能,可以从不同的角度对其进行分类: 按单位可分为: 字节流 (一个字节一个字节的读取) ...
- java中IO流详解
不断更新中!!! 1.流的定义及分类 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输操作都是以"流"的方式进行.设备可以是文件,网络,内存等.将数据从 ...
- Java中IO流体系
转载: https://mp.weixin.qq.com/s?__biz=MzA5NzgzODI5NA==&mid=2454030958&idx=1&sn=df27aadb92 ...
- Java中IO流的分类和BIO,NIO,AIO的区别
到底什么是IO 我们常说的IO,指的是文件的输入和输出,但是在操作系统层面是如何定义IO的呢?到底什么样的过程可以叫做是一次IO呢? 拿一次磁盘文件读取为例,我们要读取的文件是存储在磁盘上的,我们的目 ...
最新文章
- pymongo cusor not found
- 单例模式(Singleton)
- 三座”大山“或让谷歌无人机送货项目被冻结
- LeetCode Shortest Unsorted Continuous Subarray
- mysql查询每个id的前10条数据_解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据...
- java catch中 return_JAVA中try、catch、finally带return的执行顺序总结
- POJ 3168 排序+扫描
- 功能拆分简化权限操作,提高程序易用性
- 在Virtual Machine上运行Hello China的方法和工具
- mysql查看表注释和字段注释
- JavaScript 的学习路线
- 信息内容安全-基于微博热搜的yuqing监测系统
- 有道云笔记不同步_有道云笔记不能无法同步解决教程
- 人工智能在广告行业的应用
- 月下夜想曲200.6(攻略3)
- ubuntu使用gdown下载谷歌云盘(google drive)文件
- 安装visio viewer2013成功后仍无法使用
- 湖南省衡阳市谷歌高清卫星地图下载
- 欧美相关出口企业要注意了!
- JZOJ__Day 10:【普及模拟】【USACO】贝茜的晨练计划
热门文章
- 恒隆地产位于杭州的高端综合商业项目正式开工
- 主板软件功能测试,主板BIOS及软件功能简介_华硕 E3 PRO GAMING V5_主板评测-中关村在线...
- 【LeetCode 剑指offer刷题】动态规划与贪婪法题3:剑指Offer-46:把数字翻译成字符串
- 物流运输信息管理系统设计与实现
- html中的字体选择,谈谈Web标准设计中的常用字体和选用原则
- MySQL中国省份城市表
- 分享几个ip定位api
- 信捷XC PLC与3台西门子V20变频器通讯程序 原创可直接用于生产的程序
- 常见的双底(顶)+2B反转形态的买入细节
- python实现红绿灯