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"));
|