Java集合Stream类
Java集合Stream类
----按条件对集合进行过滤filter
public class Test {public static void main(String[] args) {List<String>all=new ArrayList<>();all.add("ghjt");all.add("ghjiiii");Stream<String>stream=all.stream();List<String> newAll=stream.filter(new Predicate<String>() {@Overridepublic boolean test(String s) {return s.contains("t") ;}}).collect(Collectors.toList());newAll.forEach(System.out::println);}
lambda表达式简化写法
接收一个参数s,返回其结果s.contains(“t”)
stream.filter((s)->s.contains("t"));
最后简化写法:
public class Test {public static void main(String[] args) {List<String>all=new ArrayList<>();all.add("ghjt");all.add("ghjiiii");Stream<String>stream=all.stream();List<String> newAll=stream.filter((s)->s.contains("t")).collect(Collectors.toList());newAll.forEach(System.out::println);}}
------在过滤之前对数据流进行处理,使用map()
List<String> newAll=stream.distinct().map((x)->x.toUpperCase()).filter((s)->s.contains("T")).collect(Collectors.toList());
------对数据流进行分页操作,使用
skip(1)跳过第一条数据
limit(1)只取第一条数据
List<String> newAll=stream.distinct().map((x)->x.toUpperCase()).filter((s)->s.contains("T")).skip(1).limit(1).collect(Collectors.toList());
------使用anyMatch或allMatch实现数据匹配操作
public class TestOthers {public static void main(String[] args) {List<String> all=new ArrayList<>();all.add("ghjt");all.add("ghjiiii");all.add("AAAghjt");all.add("SDFGghjiiii");Stream<String> stream=all.stream();if (stream.anyMatch((x)->x.contains("j"))){System.out.println("jjj is exits");}}}
------使用or()或and()实现多个数据匹配
Predicate接口----判断输入的对象是否符合某个条件。(断言式接口)
public class TestOthers {public static void main(String[] args) {List<String> all=new ArrayList<>();all.add("ghjt");all.add("ghjiiii");all.add("AAAghjt");all.add("SDFGghjiiii");Stream<String> stream=all.stream();Predicate<String>p1=(x)->x.contains("iii");Predicate<String>p2=(x)->x.contains("A");if (stream.anyMatch(p1.and(p2))){System.out.println("It's great");}else {System.out.println("bad");}}
}
Java集合Stream类相关推荐
- java集合框架类_Java集合框架总结—超详细-适合面试
Set和List接口是Collection接口派生的两个子接口,Queue是Java提供的队列实现,类似于List. Map实现类用于保存具有映射关系的数据(key-value). 2.Set.Lis ...
- Java集合工具类Collections(一)
Collections Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作,还提供将集合对象设置为不可变 ...
- java集合UML类图 总览
Java集合框架主要包括两种类型的容器, 一种是集合(Collection),存储一个元素集合, Collection 接口又有 3 种子类型,List.Set 和 Queue. 另一种是图(Map) ...
- Java集合工具类的一些坑,Arrays.asList()、Collection.toArray()...
Arrays.asList() 使用指南 最近使用Arrays.asList()遇到了一些坑,然后在网上看到这篇文章:Java Array to List Examples 感觉挺不错的,但是还不是特 ...
- Java集合工具类:Collections
Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里 提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象实现同步控制等方法. 一. 排序 ...
- java集合框架类源代码阅读体会
忘了什么原因突然想看下JCF,于是就有了这个阅读体会. java版本基于sun jdk1.6.0_18 1 通用接口 public interface Iterable<T> publ ...
- Java集合---Arrays类源码解析
一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Primitive(8种基本类型)和Object两大类. 基本类型:采用调优的快速排序: 对象类型: ...
- java 集合工具类_Java集合中Collections工具类总结
Collections工具类 Collections 是一个操作 Collection(Set. List )和 Map 等集合的工具类 Collection和Collections的区别? Coll ...
- Java集合工具类(三)-泛型集合工具类,用于便捷快速的定义、操作集合。包含Set的交集、并集......
为什么80%的码农都做不了架构师?>>> /** * 用该方法来代替 { @code new LinkedList<E>()} 方式获得新的 { @cod ...
最新文章
- mysql常用语句集锦
- SnowFlake唯一ID生成器
- js base_64 解密
- crontab 日志_liunx 中定时清理过期日志文件
- lua本学习笔记功能
- 企业运维经典面试题汇总(3)
- 区块链java语言,基于Java语言构建区块链(一)—— 基本原型
- 2021年最推荐的十大进销存管理软件排名
- 计算机网络课后作业习题1
- 完整JAVA学习路线图,助您从JAVA小白变身秃顶大叔,迈向JAVA成神之路
- 汇编语言中xor指令_这个汇编代码有什么作用? (TEST,XOR,JNZ)
- Kotlin学习安卓篇(一)为什么要学习Kotlin?
- LeetCode881. 救生艇
- 电商网站秒杀系统如何设计
- ABB机器人系统和出错信息
- fik在计算机领域英语缩写,计算机常用英语词汇表
- 分享130个中国风PPT模板,总有一款适合你
- Java爬虫.HttpClient
- Vue源码实现之watcher拾遗
- Android 双卡双待 资料
热门文章
- 终于找到了:NuGet 修改包路径
- 【转】DevOps到底是什么意思?
- Execute SQL Task 参数和变量的映射
- 一步步编写操作系统 48 二进制程序的加载方式
- bootstraptable treeGrid 懒加载_Java类加载机制及自定义加载器
- WebStrom里设置angular提示,可以在html中提示ts文件的内容
- 【Codeforces - 864D】Make a Permutation!(贪心,字典序)
- 动手学PaddlePaddle(3):猫脸识别
- 0.《沉浸式线性代数》:前言
- java在一个类里实现存款_用Java编写一个简单的存款