Stream流的用法

目录

中间方法,操作Stream流中的数据

使用案例——中间方法

终结方法,以不同的方式结束Stream流

使用案例——终结方法


 

中间方法,操作Stream流中的数据

 

方法作用
filter过滤
limit获取前几个数据
skip跳过前几个数据
distinct数据去重
concat合并两个流
map转换数据类型
sorted排序

 

使用案例——中间方法

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;

public class Demo {
    public static void main(String[] args) {

        List<Integer> list1 = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();
        Collections.addAll(list1, 1, 2, 3, 4, 5);
        Collections.addAll(list2, 6, 7, 8, 9, 10);

        List<Integer> collect1 = list1.stream().filter(s -> s >= 3).toList();
        System.out.println(collect1);// [3, 4, 5]

        List<Integer> collect2 = list1.stream().limit(3).toList();
        System.out.println(collect2);// [1, 2, 3]

        List<Integer> collect3 = list1.stream().skip(2).toList();
        System.out.println(collect3);// [3, 4, 5]

        list1.add(1);
        List<Integer> collect4 = list1.stream().distinct().toList();
        System.out.println(collect4);// [1, 2, 3, 4, 5]

        List<Integer> collect5 = Stream.concat(list1.stream(), list2.stream()).toList();
        System.out.println(collect5);// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

        List<String> collect6 = list1.stream().map(String::valueOf).toList();
        System.out.println(collect6);// [1, 2, 3, 4, 5, 1]

        List<Integer> collect7 = list1.stream().sorted().toList();
        System.out.println(collect7);// [1, 1, 2, 3, 4, 5]
    }
}

 

终结方法,以不同的方式结束Stream流

 

方法作用
forEach遍历
count统计
toArray收集数据,得到数组
toList收集数据,得到集合

 

使用案例——终结方法

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Demo {
    public static void main(String[] args) {

        List<Integer> list = new ArrayList<>();
        Collections.addAll(list, 1, 2, 3, 4, 5);

        list.stream().filter(s -> s >= 3).forEach(System.out::println);// 遍历打印

        long count = list.stream().filter(s -> s >= 3).count();// 统计数量

        Integer[] array = (Integer[]) list.stream().filter(s -> s >= 3).toArray();// 得到数组

        List<Integer> collect = list.stream().filter(s -> s >= 3).toList();// 得到集合
    }
}
  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值