个人主页自助建站,传统网站布局,wordpress基础模板下载,深圳企业招聘信息网官网.stream() 常用方法
.forEach#xff08;#xff09;
该方法接收一个 Consumer 接口函数#xff0c;会将每一个流元素交给该函数进行处理
.filter()#xff1a;过滤
该接口接收一个 Predicate 函数式接口参数#xff08;可以是一个Lambda或方法引用#xff09;作为筛….stream() 常用方法
.forEach
该方法接收一个 Consumer 接口函数会将每一个流元素交给该函数进行处理
.filter()过滤
该接口接收一个 Predicate 函数式接口参数可以是一个Lambda或方法引用作为筛选条件。
private static void filterDemo(){String[] array { 张无忌, 张三丰, 周芷若 };StreamString stream Stream.of(array);StreamString result stream.filter(s - s.startsWith(张));result.forEach(s - System.out.println(s));}.map() : 映射
如果需要将流中的元素映射到另一个流中可以使用 map 方法。 该接口需要一个 Function 函数式接口参数可以将当前流中的T类型数据转换为另一种R类型的流。
private static void mapDemo(){String[] array {10, 12, 18};StreamString stringStream Stream.of(array);StreamInteger integerStream stringStream.map(s - Integer.parseInt(s));integerStream.forEach(integer - System.out.println(integer));}count()统计流中的元素个数
正如旧集合 Collection 当中的 size 方法一样流提供 count 方法来数一数其中的元素个数 long num stream.count();
limit()取用前几个
skip()跳过前几个
concat()组合
private static void concatDemo(){StreamString stream1 Stream.of(张三);StreamString stream2 Stream.of(李四);StreamString stream Stream.concat(stream1,stream2);stream.forEach(s - System.out.println(s));}sorted() 排序
元素收集
1.收集到List集合
流对象.collect( Collectors.toList() )获得List集合。
2.收集到Set集合
流对象.collect( Collectors.toSet() )获得Set集合。
3.收集到数组
流对象. toArray()由于泛型擦除的原因返回值类型是Object[]
字符串拼接
参数为连接符返回值为一个集合。
private static void joinDemo(){ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);System.out.println(list);System.out.println(list.stream().collect(Collectors.joining(,)));}分组
归约 reduce()
rudece方法的功能是从一个流中生成一个值reduce方法参数为一个函数返回值为Optional对象。
private static void reduceDemo(){ListInteger num Arrays.asList(1, 2, 4, 5, 6, 7);// 求和num.stream().reduce((x, y) - xy ).ifPresent(System.out::println);// 求最大值num.stream().reduce(Integer::max).ifPresent(System.out::println);}
distinct() 去重
学习知乎Stream流处理介绍以及Stream的基本操作