• 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)

    待更。
  • 相关阅读:
    mybatis异常:org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map com.sunyan.domain.User
    Markdown首行缩进和换行
    mybatis入门——mybatis的概述
    python2跟python3的区别
    码云与git
    Python入门(一)
    python环境搭建
    python简介
    计算机基础
    Typora、安装及使用
  • 原文地址:https://www.cnblogs.com/tdyang/p/11869898.html
Copyright © 2020-2023  润新知