Java | 集合中正确使用Stream流

大家好,我是程序员影子

一名致力于帮助更多朋友快速入门编程的程序猿

今天来聊一聊关于Java 中的集合中正确使用Stream流

一、Stream的创建

Java 8 引入了Stream API,它可以让你以一种声明的方式处理数据。Stream可以由集合创建,使用stream()方法。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class StreamCreation {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("Apple", "Banana", "Cherry", "Date");
        Stream<String> stream = list.stream();
        stream.forEach(System.out::println); // 输出集合中的每个元素
    }
}

二、使用Filter进行过滤

filter方法用于通过设置的条件过滤出元素。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamFilter {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        List<Integer> evenNumbers = list.stream()
                                        .filter(n -> n % 2 == 0)
                                        .collect(Collectors.toList());
        System.out.println(evenNumbers); // 输出[2, 4, 6, 8, 10]
    }
}

三、使用Map进行转换

map方法用于通过给定的函数转换每个元素。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamMap {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("Apple", "Banana", "Cherry");
        List<String> upperCaseFruits = list.stream()
                                           .map(String::toUpperCase)
                                           .collect(Collectors.toList());
        System.out.println(upperCaseFruits); // 输出[APPLE, BANANA, CHERRY]
    }
}

四、使用Reduce进行归约操作

reduce方法用于组合流中的多个元素。

import java.util.Arrays;
import java.util.List;
public class StreamReduce {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
        int sum = list.stream().reduce(0, Integer::sum);
        System.out.println(sum); // 输出15
    }
}

五、使用Collectors进行收集

Collectors类提供了各种收集器实现,用于将流转换为集合。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamCollect {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("Apple", "Banana", "Cherry", "Date");
        String mergedString = list.stream()
                                  .collect(Collectors.joining(", "));
        System.out.println(mergedString); // 输出Apple, Banana, Cherry, Date
    }
}

以上就是本次分享的所有内容,感兴趣的朋友点个关注呀,感谢大家啦~

更多Java | AI+编程玩法 的相关资料和源码请移步至公众号:程序员影子 

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值