[Java][Stream]单列集合/双列集合/数组/零散数据的处理

2023-12-13 08:02:07
Stream这个流的含义就是流水线的含义Stream是Collection的一个方法
我们把要操作的数据放在流水线上,然后进行不断的过滤,最后进行输出
1.先得到一条stream流,把数据放上流水线
2.利用stream流中的api进行操作
3.过滤 转换 统计 打印 这些方法可以分为中间方法和终结方法
4.过滤 转换 是典型的中间方法
5.统计 打印 是典型的终结方法
————————————————————————————————————
单列集合 直接.stream();
双列集合 转化为keyset来.stream();
import java.lang.reflect.Array;
import java.util.*;
import java.util.stream.Stream;

public class Main{
    public static void main(String[] args){
        /*
        Stream这个流的含义就是流水线的含义Stream是Collection的一个方法
        我们把要操作的数据放在流水线上,然后进行不断的过滤,最后进行输出
        1.先得到一条stream流,把数据放上流水线
        2.利用stream流中的api进行操作
        3.过滤 转换 统计 打印 这些方法可以分为中间方法和终结方法
        4.过滤 转换 是典型的中间方法
        5.统计 打印 是典型的终结方法
        ————————————————————————————————————
        单列集合 直接.stream();
        双列集合 转化为keyset来.stream();
        */

        //1.单列集合获取stream流
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o");

        Stream<String> stream =list.stream();
        //使用终结方法打印流水线上的所有数据
        //stream.forEach(s->System.out.println(s));
        list.stream().forEach(s->System.out.println(s));
        //这里我们通常使用链式编程的思想去实现


        //2.双列结合实现 实现逻辑就是 双列转单列来实现
        HashMap<Integer,String> hm = new HashMap<>();
        hm.put(1,"a");
        hm.put(2,"aa");
        hm.put(3,"acc");
        hm.put(4,"d");
        Set<Integer> shm = hm.keySet();
        shm.stream().filter(s->hm.get(s).contains("a")).forEach(s->System.out.println(hm.get(s)));

        //3.数组使用流->我们调用一个静态方法 ->Arrays
        int[] arr1 = {1,2,3,4,5,6,7,8,9};
        String[] arr2 = {"a","b","c"};
        Arrays.stream(arr1).forEach(s->System.out.println(s));
        Arrays.stream(arr2).forEach(s->System.out.println(s));

        //4.需要处理一些比较的零散的数据
        Stream.of("a",2,3,4,5,6).forEach(s->System.out.println(s));


    }
}

文章来源:https://blog.csdn.net/qq_37511412/article/details/134951919
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。