Java之Stream流的收集

Java之Stream流的收集

收集Stream流的含义:

就是把Stream流操作后的结果数据转到集合或者数组中去。

Stream流只是方便操作集合/数组的手段

集合/数组才是开发中的目的

Stream流的收集方法

名称 说明
R collect(Collector collector) 开始收集Stream流,指定收集器

Collectors工具类提供了具体的收集方式

名称 说明
public static <T> Collector toList() 把元素收集到List集合中
public statci <T> Collector toSet() 把元素收集到Set集合中
public static Collector toMap(Function ketMapper,Function valueMapper) 把元素收集到Map集合中

代码实现

 public class StreamDemo05 {
     public static void main(String[] args) {
         List<String> list = new ArrayList<>();
         Collections.addAll(list , "张文君","张文俊","周文君","周三","李达","张俊");
 ​
         Stream<String> s1 = list.stream().filter(s->s.startsWith("张"));
         List<String> zhangList = s1.collect(Collectors.toList());
 //       List<String> zhangList = s1.toList();//从jdk16开始支持,得到不可变集合
         System.out.println(zhangList);
 ​
         //注意:流只能使用一次。
         Stream<String> s2= list.stream().filter(s->s.startsWith("张"));
         Set<String> zhangSet = s2.collect(Collectors.toSet());
         System.out.println(zhangSet);
 ​
         //收集成数组
         Stream<String> s3= list.stream().filter(s->s.startsWith("张"));
         // Object[] arrs = s3.toArray();
 //       String[] arrs = s3.toArray(new IntFunction<String[]>() {
 //           @Override
 //           public String[] apply(int value) {
 //               return new String[4];
 //           }
 //       });
         String[] arrs = s3.toArray(String[]::new);
         System.out.println("数组Arrays内容:"+ Arrays.toString(arrs));
    }
 }
 
posted @   镰刀战士  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示