Java Stream流学习笔记

一 不可变集合

二 Stream流使用步骤 

 

Note:

1. 单列集合直接使用stream()得到Stream流

2. 双列集合要先转成单列集合再使用stream流,如转为entrySet, keySet

3. 数组使用Arrays.stream(array)得到Stream流

4. 一堆零散数据使用Stream.of(data)得到Stream流,如果传入数组,必须是引用数据类型的,如果传递基本数据类型,是会把整个数组当成一个元素放入Stream流中

三 Stream的中间方法

四 Stream流的终结方法

 五 练习

ArrayList<Integer> list = new ArrayList<>();
        for (int i = 1; i < 11; i++) {
            list.add(i);
        }
        List<Integer> collect = list.stream().
                filter(s -> s % 2 == 0).
                collect(Collectors.toList());
        System.out.println(collect);

 

 ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"zhangsan,23", "lisi,24", "wangwu,25");
        Map<String, Integer> map = list.stream()
                .filter(s -> Integer.parseInt(s.split(",")[1]) >= 24)
                .collect(Collectors.toMap(s -> s.split(",")[0], s -> Integer.parseInt(s.split(",")[1])));
        System.out.println(map);

        ArrayList<String> list_male = new ArrayList<>();
        Collections.addAll(list_male,"路平石,23", "杨洋,24", "瓦房无,25", "薛之前,63", "周汇,25", "梁朝伟,28");
        ArrayList<String> list_female = new ArrayList<>();
        Collections.addAll(list_female,"杨兰,23", "赵丽颖,24", "杨兰新,25", "周女,63", "杨小迪,25", "罗婷,28");
        Stream<String> male = list_male.stream()
                .filter(s -> s.split(",")[0].length() == 3)
                .limit(2);
        Stream<String> female = list_female.stream()
                .filter(s -> s.split(",")[0].startsWith("杨"))
                .skip(1);
        List<Actor> list = Stream.concat(male, female)
                .map(s -> new Actor(s.split(",")[0], Integer.parseInt(s.split(",")[1])))
                .collect(Collectors.toList());
        System.out.println(list);
//Actor类的定义省略
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值