zoukankan      html  css  js  c++  java
  • lambda表达式分类

    public class StreamTest {
        public static void main(String[] args) {
            createStream();
            getForEach();
            getMap();
            getFilter();
            getLimit();
            getSorted();
            getParallel();
            getCollectors();
            getStatistics();
            getSumAll();
        }
    
        /**
         * 1.生成Stream
         */
        public static void createStream(){
            System.out.println("-------------------->>>>>>>>>>生成Stream");
            List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl");
            List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
            filtered.forEach(System.out::println);
        }
    
        /**
         * 2.forEach
         */
        public static void getForEach(){
            System.out.println("-------------------->>>>>>>>>>forEach");
            Random random = new Random();
            random.ints().limit(10).forEach(System.out::println);
        }
    
        /**
         * 3.map
         */
        public static void getMap(){
            System.out.println("-------------------->>>>>>>>>>map");
            List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
            // 获取对应的平方数
            List<Integer> squaresList = numbers.stream().map(i -> i * i).distinct().collect(Collectors.toList());
            squaresList.forEach(System.out::println);
        }
    
        /**
         * 4.filter
         */
        public static void getFilter(){
            System.out.println("-------------------->>>>>>>>>>filter");
            List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
            // 获取空字符串的数量
            int count = (int) strings.stream().filter(string -> string.isEmpty()).count();
            System.out.println("空字符串的数量: "+count);
        }
    
        /**
         * 5.limit
         */
        public static void getLimit(){
            System.out.println("-------------------->>>>>>>>>>limit");
            Random random = new Random();
            random.ints().limit(10).forEach(System.out::println);
        }
    
        /**
         * 6.sorted
         */
        public static void getSorted(){
            System.out.println("-------------------->>>>>>>>>>sorted");
            Random random = new Random();
            random.ints().limit(10).sorted().forEach(System.out::println);
        }
    
        /**
         * 7.并行(parallel)程序
         */
        public static void getParallel(){
            System.out.println("-------------------->>>>>>>>>>parallel");
            List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl");
            // 获取空字符串的数量
            int count = (int) strings.parallelStream().filter(string -> string.isEmpty()).count();
            System.out.println("parallel: " + count);
        }
    
        /**
         * 8.Collectors
         */
        public static void getCollectors(){
            System.out.println("-------------------->>>>>>>>>>Collectors");
            List<String> list = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl");
            List<String> filtered = list.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
            System.out.println("筛选列表: " + filtered);
            String mergedString = list.stream().filter(string -> !string.isEmpty()).collect(Collectors.joining(", "));
            System.out.println("合并字符串: " + mergedString);
        }
    
        /**
         * 9.统计Statistics
         */
        public static void getStatistics(){
            System.out.println("-------------------->>>>>>>>>>Statistics");
            List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
            IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics();
            System.out.println("列表中最大的数 : " + stats.getMax());
            System.out.println("列表中最小的数 : " + stats.getMin());
            System.out.println("所有数之和 : " + stats.getSum());
            System.out.println("平均数 : " + stats.getAverage());
        }
    
        /**
         * 10.求和集合某个属性
         */
        public static void getSumAll(){
            System.out.println("-------------------->>>>>>>>>>Statistics");
            List<GsonFormatModel> numbers = new ArrayList<>();
            GsonFormatModel gsonFormatModel = new GsonFormatModel();
            gsonFormatModel.setFrom(111);
            numbers.add(gsonFormatModel);
            GsonFormatModel gsonFormatModel1 = new GsonFormatModel();
            gsonFormatModel1.setFrom(999);
            numbers.add(gsonFormatModel1);
            int  stats = numbers.stream().mapToInt(GsonFormatModel::getFrom).sum();
            System.out.println("所有数之和 : " + stats);
        }
    
    
    
    }
  • 相关阅读:
    【Android學習專題】数据存储篇:SharedPreferences/Files/SDCard
    【My Sft】彩色图像分析软件V1.0.1.0
    【流媒體】Android 实时视频采集—Camera预览采集
    【流媒體】 Android 实时视频编码—H.264硬编码
    【资料整理】一些英语面试题整理
    【C/C++语法外功】sizeof
    【My Project】开关稳压电源第八届索尼杯全国大学生电子设计竞赛(2007)
    【Android學習專題】網絡通信篇:Socket TCP(简易聊天室)
    【Android學習專題】多媒體篇:MediaRecoder 实现录像机
    【流媒體】Android 实时视频采集—MediaRecoder录制
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/11139949.html
Copyright © 2011-2022 走看看