JAVA Stream流详解

Java 8添加了一种新的抽象叫做Stream流,其数据来源可以是数组,集合等。

stream的调用可以来自单列集合双列集合等(双列集合不能直接使用)。一般使用链式编程,因为stream流只可以用一次,所以没必要再为每一步骤命名。stream流有中间方法和终结方法,中间方法后面还可以通过' . '和其它方法一起使用,而终结方法后面不能再加' . '。终结方法有forEach()"打印流中每一个数据" 。count():“统计流中数据的个数”。toArray()返回数组,记录流中每一个值。中间方法有:filter():"根据正则表达式过滤数据",limit(int i):“获取流中的前i个数据”,skip(int i):“跳过i个数据”distinct():"元素去重,(根据Hashcode和equals方法去重)",concat(a,b):"合并流a和流b"。如图:

JAVA Stream流详解_第1张图片

上图用了两种方法,作用一样,使用lambda方法可以简写。

双列集合调用要使用entrySet()或者可以Set()方法再调用:

JAVA Stream流详解_第2张图片

数组的stream流形式:

JAVA Stream流详解_第3张图片

对于同一类型(除基本数据类型)任何数据:

JAVA Stream流详解_第4张图片

filter,limit,skip的使用:

JAVA Stream流详解_第5张图片

distinct,concat的使用

JAVA Stream流详解_第6张图片

终结方法的使用:

JAVA Stream流详解_第7张图片

你可能感兴趣的:(java,idea)