zoukankan      html  css  js  c++  java
  • Java8-Stream-No.05

    
    import java.util.Arrays;
    import java.util.List;
    import java.util.function.Supplier;
    import java.util.stream.Stream;
    
    public class Streams5 {
    
        public static void main(String[] args) {
            List<String> strings =
                Arrays.asList("d2", "a2", "b1", "b3", "c");
    
    //        test1(strings);
    //        test2(strings);
    //        test3(strings);
    //        test4(strings);
    //        test5(strings);
    //        test6(strings);
    //        test7(strings);
            test8(strings);
        }
    
        private static void test8(List<String> stringCollection) {
            Supplier<Stream<String>> streamSupplier =
                () -> stringCollection
                    .stream()
                    .filter(s -> s.startsWith("a"));
    
            streamSupplier.get().anyMatch(s -> true);
            streamSupplier.get().noneMatch(s -> true);
        }
    
        // stream has already been operated upon or closed
        private static void test7(List<String> stringCollection) {
            Stream<String> stream = stringCollection
                .stream()
                .filter(s -> s.startsWith("a"));
    
            stream.anyMatch(s -> true);
            stream.noneMatch(s -> true);
        }
    
        // short-circuit
        private static void test6(List<String> stringCollection) {
            stringCollection
                .stream()
                .map(s -> {
                    System.out.println("map:      " + s);
                    return s.toUpperCase();
                })
                .anyMatch(s -> {
                    System.out.println("anyMatch: " + s);
                    return s.startsWith("A");
                });
        }
    
        private static void test5(List<String> stringCollection) {
            stringCollection
                .stream()
                .filter(s -> {
                    System.out.println("filter:  " + s);
                    return s.toLowerCase().startsWith("a");
                })
                .sorted((s1, s2) -> {
                    System.out.printf("sort:    %s; %s
    ", s1, s2);
                    return s1.compareTo(s2);
                })
                .map(s -> {
                    System.out.println("map:     " + s);
                    return s.toUpperCase();
                })
                .forEach(s -> System.out.println("forEach: " + s));
        }
    
        // sorted = horizontal
        private static void test4(List<String> stringCollection) {
            stringCollection
                .stream()
                .sorted((s1, s2) -> {
                    System.out.printf("sort:    %s; %s
    ", s1, s2);
                    return s1.compareTo(s2);
                })
                .filter(s -> {
                    System.out.println("filter:  " + s);
                    return s.toLowerCase().startsWith("a");
                })
                .map(s -> {
                    System.out.println("map:     " + s);
                    return s.toUpperCase();
                })
                .forEach(s -> System.out.println("forEach: " + s));
        }
    
        private static void test3(List<String> stringCollection) {
            stringCollection
                .stream()
                .filter(s -> {
                    System.out.println("filter:  " + s);
                    return s.startsWith("a");
                })
                .map(s -> {
                    System.out.println("map:     " + s);
                    return s.toUpperCase();
                })
                .forEach(s -> System.out.println("forEach: " + s));
        }
    
        private static void test2(List<String> stringCollection) {
            stringCollection
                .stream()
                .map(s -> {
                    System.out.println("map:     " + s);
                    return s.toUpperCase();
                })
                .filter(s -> {
                    System.out.println("filter:  " + s);
                    return s.startsWith("A");
                })
                .forEach(s -> System.out.println("forEach: " + s));
        }
    
        private static void test1(List<String> stringCollection) {
            stringCollection
                .stream()
                .filter(s -> {
                    System.out.println("filter:  " + s);
                    return true;
                })
                .forEach(s -> System.out.println("forEach: " + s));
        }
    
    }
  • 相关阅读:
    orm 对象关系映射 指 表与类之间的映射 # 40
    事务 视图 触发器 函数 (内置) 存储过程 流程控制 索引 # 39
    exist 存在 Python操作mysql pymysql sql注入问题 # 38
    基本查询语句与方法 多表查询 # 37
    外键 #36
    存储引擎 索引 数据类型 约束条件 # 35
    mysql安装 登录 修改密码 库,表,记录(增删改查) # 34
    进程池和线程池 协程 # 33
    GIL全局解释器锁
    # 并发编程 -进程理论-进程的方法
  • 原文地址:https://www.cnblogs.com/bilaisheng/p/10210933.html
Copyright © 2011-2022 走看看