zoukankan      html  css  js  c++  java
  • JDK新特性关于流操作部分

        // array 工具类   可以用来快捷的将数组转化为list
            List<String> strings = Arrays.asList("zhongguo", "riben", "yingguo");
            // 转化为一个新的list
            List<String> collect = strings.stream().map(number -> number += "dfvgcdvcx").collect(Collectors.toList());
            // 流输出
            collect.forEach(num -> System.out.println( num));
            // 帅选偶数
            List<Integer> numberList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
            List<Integer> collect1 = numberList.stream().filter(num -> num % 2 == 0).collect(Collectors.toList());
            collect1.forEach(number -> System.out.println(number));
            // 从无线流数据中选择第一个
            List<Integer> numberList1= Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
            Optional<Integer> first = numberList1.stream().findFirst();
            // 输出第一个
            System.out.println(first.orElse(-1));
            // 获取或者扔掉前 n 个元素
            List<Integer> ageList = Arrays.asList(11, 22, 13, 14, 25, 26);
            Stream<Integer> limit = ageList.stream().limit(4);
            limit.forEach(li -> System.out.println(li));
            Stream<Integer> skip = ageList.stream().skip(4);
            skip.forEach(sk-> System.out.println(sk));
           // 数学统计功能
            List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
            IntSummaryStatistics intSummaryStatistics = list.stream().mapToInt(x -> x).summaryStatistics();
            System.out.println(intSummaryStatistics.getMax());
            System.out.println(intSummaryStatistics.getMin());
            System.out.println(intSummaryStatistics.getAverage());
            System.out.println(intSummaryStatistics.getCount());
            System.out.println(intSummaryStatistics.getSum());
            // 分组聚合功能
            List<Integer> groupList = Arrays.asList(11, 22, 13, 14, 25, 26);
            Map<Integer, List<Integer>> collect2 = groupList.stream().collect(Collectors.groupingBy(age -> age / 10));
            collect2.forEach((k,v) -> System.out.println(k+"nmnmn"+v));
            // 按某个条件分组 会得到一个key  为布尔的map
            List<Integer> patationList = Arrays.asList(11, 22, 13, 14, 25, 26);
            Map<Boolean, List<Integer>> collect3 = patationList.stream()
                    .collect(Collectors.partitioningBy(age -> age > 18));
            // 生成自己的 Stream 流
            Random random = new Random();
            Stream<Integer> generate = Stream.generate(random::nextInt);
            generate.forEach(num -> System.out.println(num));
            // 生成自己的 UUID 流
            Stream<UUID> generate1 = Stream.generate(UUID::randomUUID);
            generate1.limit(5).forEach(System.out::println);
    

    JDK新特性关于流操作部分  

  • 相关阅读:
    报表引擎API开发入门— EJB程序数据源
    真正意义上下一代 Windows Embedded:有关 Windows 10 "Athens" 的事
    如何将网格式报表打印成其它样式
    报表引擎API开发入门—带参程序数据集
    wifi漫游测试过程
    前端,Java,产品经理,微信小程序,Python等资源合集大放送
    bootstrap+fileinput插件实现可预览上传照片功能
    Jquery前端分页插件pagination同步加载和异步加载
    Jquery前端分页插件pagination使用
    最简单的混合开发教程资料汇总
  • 原文地址:https://www.cnblogs.com/zyfBlogShare/p/11887804.html
Copyright © 2011-2022 走看看