Stream流

本文介绍了Java中的Stream流,包括生成方式、中间操作、终结操作和收集操作。生成流可以从集合、数组等数据源获取,中间操作如filter、limit、skip等用于数据筛选和转换,终结操作如forEach、count等结束流并产生结果,收集操作则通过Collectors类提供各种聚合功能。
摘要由CSDN通过智能技术生成

Stream

生成方式

生成流

通过数据源(集合、数组等)生成流

list.stream()

常见生成方式

  • Collection体系的集合可以直接使用默认方法stream()生成流

  • //Collection生成流
            ArrayList<String> list = new ArrayList<>();
            HashSet<String> set = new HashSet<>();
            Stream<String> listStream = list.stream();
            Stream<String> setStream = set.stream();
    
  • Map体系集合间接生成流

  • //Map生成流
            HashMap<String, Integer> map = new HashMap<>();
            Stream<String> keyStream = map.keySet().stream();
            Stream<Integer> valueStream = map.values().stream();
            Stream<Map.Entry<String, Integer>> entryStream = map.entrySet().stream();//键值对对象流
    
  • 数组可以通过Stream接口的静态方法of(T…values)生成流

  • //数组生成流
            String[] strArray = {
         "hello","world","java"};
            Stream<String> strArrayStream = Stream.of(strArray);
            Stream<String> strArrayStream2 = Stream.of("hello", "world", "java");
            Stream<Integer> integerStream = Stream.of(1, 2, 3, 4);
    

中间操作

一个流后面可以跟随任意个中间操作,目的是打开流,做出过滤或映射等操作,再返回一个新的流

list.stream().filter()//通常使用Lambda表达式完成规则表达

常见操作方法

  • filter(Predicate predicate):用于对流中的数据进行过滤

    Predicate接口中的方法 boolean test(T t):对给定参数进行判断,返回一个布尔值

    ArrayList&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值