java8新特性之StreamApi Stream流中止操作
下文笔者讲述java8中Stream流的简介说明,如下所示
stream流常用方法简介
/** * 查找与匹配 * * allMatch:检查是否匹配所有元素 * anyMatch:检查是否至少匹配一个元素 * noneMatch:检查是否没有匹配所有元素 * findFirst:返回第一个元素+ * findAny:返回当前流中的任意元素 * count:返回流中元素的总和 * max:返回流中的最大值 * min:返回流中的最小值 */例
@Test
public void test10() {
boolean b = list.stream()
/**检查是否匹配所有元素 就是检查对象中的元素是否都满足allMatch()里面的要求,是就返回true 反之 false*/
.allMatch( (x) -> x.getId()>2 );
System.out.println(b);
boolean b1 = list.stream()
/**检查是否至少匹配一个元素 就是检查对象中的元素是否至少有一个满足anyMatch()里面的要求,是就返回true 反之 false*/
.allMatch( (x) -> x.getId()>0 );
System.out.println(b1);
boolean b2 = list.stream()
/**检查是否没有匹配所有元素 就是检查对象中的元素是否有满足noneMatch()里面的要求,是就返回true 反之 false*/
.allMatch( (x) -> x.getId()>0 );
System.out.println(b2);
Optional b3 = list.stream()
/**先排序*/
.sorted((x,y) -> Double.compare( y.getId(),x.getId() ))
/**返回第一个元素*/
.findFirst( );
System.out.println(b3.get());
Optional optional = list.stream()
.filter( (x) -> x.getId()>4 )
/**findAny - 返回当前流中的任意元素*/
.findAny();
System.out.println(optional.get());
Long l = list.stream()
.filter( (x) -> x.getId()>0 )
/*** * count - 返回流中元素的总和*/
.count();
System.out.println(l);
Optional optional2 = list.stream()
/**max - 返回流中的最大值**/
.max( (x,y) -> Double.compare( x.getId(),y.getId() ) );
System.out.println(optional2.get());
Optional optional3 = list.stream()
/**min - 返回流中的最小值**/
.max( (x,y) -> Double.compare( x.getId(),y.getId() ) );
System.out.println(optional3.get());
/**
* 得到具体的最小id
*/
Optional<Integer> o = list.stream()
//首先通过映射,得到一个id流,这个流包含所有的id
.map( (x) -> x.getId() )
//从新建的流中得到
.min( (x,y) -> Double.compare( x,y ) );
System.out.println(o.get());
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


