Java进阶之旅第六天

本文详细介绍了JavaStream流的概念、特点,展示了如何使用Stream进行数据处理,包括单列集合、双列集合、数组和零散数据的流化操作,以及Stream的中间方法(如过滤、限流、去重等)和终结方法(如遍历、计数、转换和收集)的应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java进阶之旅第六天

Stream流

Stream的思想

  • Stream流中引入函数式编程的思想,以类似流水线的方式处理数据,使得代码更加高效整洁
  • Stream中提供并行处理的能力,可以将数据分成多个子任务,并行处理

各类型的调用方法

类型 方法 说明
单列集合 default Stream stream Collection中默认的方法
双列集合 无(需要转成单列结合后使用 无法直接使用stream流
数组 public static Stream stream(T[] array) Arrays工具类的静态方法
一堆零散的数据 public static Stream of(T…values) Stream接口中的静态方法
  • Stream接口中静态方法of的细节:
    • 1.方法的形参是一个可变参数,可以传递一堆零散的数据,也可以传递数组
    • 2.但是数组必须是引用数据类型的,如果传递基本数据类型,是会把整个数组当做一个元素,放到Stream当中
代码演示
//集合流水线Stream
        System.out.println("----单列集合---");
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(3);
        list.add(2);

        list.stream().forEach(s-> System.out.println(s));

        //双列结合
        System.out.println("----双列集合---");
        HashMap<String,Integer> hm = new HashMap<>();
        hm.put("1",2);
        hm.put("2",1);
        hm.put("3",3);

        hm.keySet().stream().forEach(s-> System.out.println(s));
        hm.entrySet().stream().forEach(s-> System.out.println(s));

        //数组
        System.out.println("----数组---");
        int[] arr1 = {
   1,2,3};
        Arrays.stream(arr1).forEach(s-> System.out.println(s));

        //零散的数据(数据类型要一致
        System.out.println("----零散的数据---");
        Stream.of(1,2,3,4).forEach(s-> System.out.println(s));
        
        System.out.println("----细节1----");
        String[] arr2 = {
   "1",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不吃牛肉!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值