stream的约简

stream只有在约简后才能结束,且返回Optional对象

创建示例stream流

1
String[] a=new String[]{"a","B","c"};

统计数量

1
Long count = Arrays.stream(a).count();

取最大值(忽略大小写或考虑大小写)返回Optional对象

1
2
Optional<String>maxIgnoreCase=Arrays.stream(a).max(String::compareToIgnoreCase);
Optional<String>max = Arrays.stream(a).max(String::compareTo);

取最小值

1
Optional<String>min=Arrays.stream(a).min(String::compareToIgnoreCase);

查找第一个满足特定条件的元素

1
Optional<String>first=Arrays.stream(a).filter(b->b.startsWith("a")).findFirst();

查找任何一个满足条件的元素,这里更适合用多线程流

1
Optional<String>any=Arrays.stream(a).parallel().filter(b->b.startsWith("a")).findAny();

判断是否存在匹配

1
boolean exist=Arrays.stream(a).anyMatch(b->b.startsWith("a"));

判断是否全部匹配

1
boolean all=Arrays.stream(a).allMatch(b->b.startsWith("a"));

判断是否全不匹配

1
boolean none=Arrays.stream(a).noneMatch(b->b.startsWith("a"));