• Java中Stream流


    package com.fgy.demo;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.stream.Stream;
    
    /**
     * 使用stream流的方式,遍历集合,对集合中的数据进行过滤
     */
    public class Demo01Stream {
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<>();
            list.add("张无忌");
            list.add("周芷若");
            list.add("赵敏");
            list.add("张三丰");
            list.add("张三");
    
            // 把集合(只能是单列集合)转换成Stream流
            list.stream()
                    .filter(name -> name.startsWith("张"))
                    .filter(name -> name.length() == 3)
                    .forEach(name -> System.out.println(name)); // 张无忌
                                                                // 张三丰
    
            // 把数组转换成Stream流
            // Integer[] arr = {1, 2, 3, 4, 5};
            // Stream<Integer> stream1 = Stream.of(arr);
            Stream<Integer> stream2 = Stream.of(1, 2, 3, 4, 5);
            stream2.forEach(num -> System.out.print(num + "  "));
            System.out.println();
    
            // 将流中的元素映射到另一个流中,可以使用map方法
            Stream<Integer> stream3 = Stream.of("10", "20", "30", "40", "50").map(s -> Integer.parseInt(s));
            stream3.forEach(i -> System.out.print(i + "  "));
            System.out.println();
    
            // 统计stream流中元素的个数
            ArrayList<Integer> list1 = new ArrayList<>();
            list1.add(1);
            list1.add(2);
            list1.add(3);
            long count = list1.stream().count();
            System.out.println(count);
    
            // limit方法用于截取流中的元素,只取用前几个
            Stream.of("哈哈", "嘿嘿", "嘻嘻", "呵呵", "憨憨").limit(3).forEach(s -> System.out.println(s));
            System.out.println("------------------");
    
            // skit方法跳过前几个元素
            Stream.of("哈哈", "嘿嘿", "嘻嘻", "呵呵", "憨憨").skip(3).forEach(s -> System.out.println(s));
            System.out.println("------------------");
    
            // concat方法合并两个流
            Stream<Integer> stream4 = Stream.of(1, 2, 3);
            Stream<Integer> stream5 = Stream.of(4, 5, 6);
            Stream<Integer> concat = Stream.concat(stream4, stream5);
            concat.forEach(i -> System.out.print(i + "  "));
        }
    }
  • 相关阅读:
    串一串《数学之美》中的信息论的几个章节
    失败经历--在windows下安装meld
    xv6实验环境搭建
    python爬取网站数据
    零散知识
    Pycharm使用技巧
    变量
    电信光猫强制wifi(SSID)名称ChinaNet开头解决办法之一
    PhpStorm 常用快捷键
    Android Studio 安装与使用ADB wifi 无线调试
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12180002.html
Copyright © 2020-2023  润新知