Java8 Stream

Wesley13
• 阅读 480
    long count();  
  //anyMatch判断的条件里,任意一个元素成功,返回true
    boolean anyMatch(Predicate<? super T> predicate);  
  //allMatch判断条件里的元素,所有的都是,返回true
    boolean allMatch(Predicate<? super T> predicate);  
  //noneMatch跟allMatch相反,判断条件里的元素,所有的都不是,返回true
    boolean noneMatch(Predicate<? super T> predicate);
========================================
List<String> strs = Arrays.asList("a", "a", "a", "a", "b");
        boolean aa = strs.stream().anyMatch(str -> str.equals("a"));
        boolean bb = strs.stream().allMatch(str -> str.equals("a"));
        boolean cc = strs.stream().noneMatch(str -> str.equals("a"));
        long count = strs.stream().filter(str -> str.equals("a")).count();
        System.out.println(aa);// TRUE
        System.out.println(bb);// FALSE
        System.out.println(cc);// FALSE
        System.out.println(count);// 4

Java8 Stream

中间操作
  流中间操作在应用到流上,返回一个新的流:
map:通过一个 Function 把一个元素类型为 T 的流转换成元素类型为 R 的流。
flatMap:通过一个 Function 把一个元素类型为 T 的流中的每个元素转换成一个元素类型为 R 的流,再把这些转换之后的流合并。
filter:过滤流中的元素,只保留满足由 Predicate 所指定的条件的元素。
distinct:使用 equals 方法来删除流中的重复元素。
limit:截断流使其最多只包含指定数量的元素。
skip:返回一个新的流,并跳过原始流中的前 N 个元素。
sorted:对流进行排序。
peek:返回的流与原始流相同。当原始流中的元素被消费时,会首先调用 peek 方法中指定的 Consumer 实现对元素进行处理。
dropWhile:从原始流起始位置开始删除满足指定 Predicate 的元素,直到遇到第一个不满足 Predicate 的元素。
takeWhile:从原始流起始位置开始保留满足指定 Predicate 的元素,直到遇到第一个不满足 Predicate 的元素。
终结操作
  终结操作产生最终的结果。
forEach 和 forEachOrdered 对流中的每个元素执行由 Consumer 给定的实现。在使用 forEach 时,并没有确定的处理元素的顺序;forEachOrdered 则按照流的相遇顺序来处理元素,如果流有确定的相遇顺序的话。
reduce进行递归计算
collect生成新的数据结构
count
点赞
收藏
评论区
推荐文章
qchen qchen
1年前
Java8函数式编程
初步认识Java8需求:给定一个字符串列表:java内部迭代:首先调用stream()方法,返回内部迭代中的相应接口:StreamjavalongcountallArtists.stream().filter(artistartist.isFrom("London"))
晴空闲云 晴空闲云
2年前
JavaScript中if判断包含逗号表达式
有时会看到JavaScript中if判断里包含英文逗号",",这个是其实是逗号表达式。在if条件里,只有最后一个表达式起判断作用。请看如下示例:jsleta1,b2,c3;//if只判断最后一个表达式if(a10,b20,c3)console.log("c3");elseconsole.log("c!
Wesley13 Wesley13
2年前
SHELL IF条件判断,判断条件
1字符串判断str1str2      当两个串有相同内容、长度时为真str1!str2     当串str1和str2不等时为真\nstr1       当串的长度大于0时为真(串非空)\zstr1       当串的长度为0时为真(空串)str1          当串str1为非空时为真
Wesley13 Wesley13
2年前
java中activiti框架中的排他网关使用方法,多条件判断
当排他网关的判断条件中出现多个条件时,需要注意,设置判断条件时,可能遇到,流向相同的任务,而判断条件的变量个数不同那么,必须在后面的运行任务时,将所有的涉及到的变量都设置进任务中,只不过,如果这个任务没有涉及到这个变量的话,将该变量的值设为null!(https://oscimg.oschina.net/oscnet/62a25808a83433
Wesley13 Wesley13
2年前
HTML5新增的内容及API详解
querySelect()和querySelectAll()后面都是跟一个css选择器;前者返回符合条件的第一个匹配的元素,如果没有则返回Null;后者返回符合筛选条件的所有元素集合(数组),如果没有符合筛选条件的则返回空数组。document.getElementsByClass
Stella981 Stella981
2年前
Python中循环及判断语句
循环判断条件是编程语言中一个很重要的部分,python也不例外,循环判断条件一般结合continue,return,break关键字来判断,这些关键字用法与java中基本一致一、if判断语句判断条件返回的结果为布尔值,在python中,布尔值为True/False,首字母必须大写,否则将出现如下异常!(https://oscimg.oschi
Stella981 Stella981
2年前
Angular 学习系列
在组合这些ng指令写到一篇文章里的时候,基本是有规则的,本兽会将功能相似相近的一类整合到一篇文章,方便理解和记忆。这篇的三个指令也都是对DOM元素的操作,页面上显示/隐藏的判断,添加/移除的判断。ngIfngIf指令会根据指定的表达式返回的boolean类型值对该元素做添加到/移除出Dom树的操作。格式:ngif“valu
Stella981 Stella981
2年前
Python学习之路
三元运算变量条件返回True的结果if条件else条件返回False,用于简单importtimetime.time()1970年至今多少秒time.sleep()暂时休眠装饰器形成过程!(https://oscimg.oschina.net/oscnet/3b8d3477779a33f0ffcefa35
Stella981 Stella981
2年前
JavaScript if 条件语句
JavaScriptif条件语句使用:if(条件){}elseif(条件){}elseif(条件){}else{}示例://判断相等if(11){}//判断不等if(1!1){}//
菜园前端 菜园前端
11个月前
什么是字典?
原文链接:什么是字典?与集合类似,字典也是一种存储唯一值的数据结构,但它是以键值对的形式来存储。在ES6中新增了Map字典。实现功能delete删除元素clear清空所有元素set添加/覆盖元素get查找/返回元素的值has判断是否包含某个元素应用场景1.