zoukankan      html  css  js  c++  java
  • java新特性stream

    java新特性stream,也称为流式编程。

    在学习stream之前先了解一下java内置的四大函数

     第一种函数式函数,后面是lambda表达式写法

         /*Function<String,Integer> function = new Function<String, Integer>() {
                @Override
                public Integer apply(String s) {
                    return null;
                }
            };*/
    //函数式 有请求参数和返回值 Function<String, Integer> function = s -> { return 1024; }; System.out.println(function.apply("函数式"));

     第二种布尔型函数(断定型参数)

         /*  Predicate<String> predicate = new Predicate<String>() {
                @Override
                public boolean test(String s) {
                    return false;
                }
            };*/
            //布尔型函数(断定型参数) 有请求参数和返回boolean值
            Predicate<String> predicate = s -> {
                return s.isEmpty();
            };
            System.out.println(predicate.test("sss"));
    

     第三种消费型函数

    /*  Consumer<String> consumer = new Consumer<String>() {
                @Override
                public void accept(String s) {
    
                }
            };*/
            //消费型函数 有请求参数和无返回值
            Consumer<String> consumer = s -> {
                System.out.println(s);
            };
            consumer.accept("java ");
    

     第四种

         /*Supplier<String> supplier = new Supplier() {
            @Override
            public String get() {
                return null;
            }
          };*/
    
            //供给型函数 无请求参数和有返回值
            Supplier<String> supplier = ()-> {
                return "hello";
            };
            System.out.println(supplier.get());
    
        }
    

     我们再看一下stream常用方法:

    filter:里面传入一个Predicate布尔型函数,里面返回布尔值
    Stream<T> filter(Predicate<? super T> predicate)

    forEach:里面传入Consumer消费型函数,有请求参数和无返回值
    void forEach(Consumer<? super T> action)

    map:里面传入Function函数式 有请求参数和返回值
    <R> Stream<R> map(Function<? super T,? extends R> mapper)

    generate:里面传入Supplier供给型函数 无请求参数和有返回值
    static <T> Stream<T> generate(Supplier<T> s)

    待更。
  • 相关阅读:
    Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
    SQL的别名和SQL的执行顺序和SQL优化
    Linux中如何配置sudo用户
    Linux的ssh的known_host文件
    Linux的SSH服务
    Linux的图形模式和文本模式以及单用户模式切换
    Linux服务器磁盘空间占满问题
    PLSQL Developer连接本地Oracle 11g数据库
    Linux常用命令学习
    OAuth2 .net MVC实现获取token
  • 原文地址:https://www.cnblogs.com/tdyang/p/11869898.html
Copyright © 2011-2022 走看看