Java8 Stream 常用api

Java8 就不多说了 大概最良心的就是 lambda stream  Optional

方法引用以及base64 本篇介绍一写自己平时开发比较常用的 流方法 更好的处理数据

学习流 一定要对抽象这个概念有一点理解 

filter 

见名之意 筛选 这个其实就是 for+if 再把满足条件的 返回一个新的集合

 List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
        List<String> filteredNames = names.stream()
                .filter(name -> name.startsWith("C")).collect(Collectors.toList());

如果有的看不懂 感觉有点抽象可以讲光标放在关键字上 alt+enter⬇️⬇️⬇️⬇️⬇️⬇️

替换完之后就变成了⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️

map

映射 替换 想怎么理解都可以。。。

   List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
        List<Integer> squaredNumbers = numbers.stream()
                .map(number -> number * number).collect(Collectors.toList());

替换成普通的写法⬇️

forearch

循环 不多介绍直接上代码

  List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
        names.stream()
                .forEach(name -> System.out.println(name));

这个可以简写 也就是用到了方法引用的这个特性,stream也可以省

List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
        names.forEach(System.out::println);

findFirst()和 findAny()

用于查找集合中的第一个或任意一个满足指定条件的元素。类似 for if break

List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
Optional<String> foundName = names.stream()
        .filter(name -> name.startsWith("C"))
        .findFirst();

min()和 max()

用于找出集合中的最小值和最大值。

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Optional<Integer> min = numbers.stream()
        .min();
Optional<Integer> max = numbers.stream()
        .max();

allMatch()、anyMatch()和 noneMatch()

用于检查集合中的所有元素、任意一个元素或没有元素是否满足指定条件。

List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
boolean allStartWithA = names.stream()
        .allMatch(name -> name.startsWith("A"));
boolean anyStartWithC = names.stream()
        .anyMatch(name -> name.startsWith("C"));
boolean noneStartWithZ = names.stream()
        .noneMatch(name -> name.startsWith("Z"));

sorted()

排序 默认正序(小的在上面)倒序加参数 :Comparator.reverseOrder()

List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
List<String> sortedNames = names.stream()
        .sorted()
        .collect(Collectors.toList());
List<String> sortedNamesDescending = names.stream()
        .sorted(Comparator.reverseOrder())
        .collect(Collectors.toList());

大概就这么多 学习流之前建议学习一下集合工具类Collections

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值