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)

    待更。
  • 相关阅读:
    商贸通帐套隐藏方法
    固定资产打开提示:上年度数据未结转!
    ZOJ 2432 Greatest Common Increasing Subsequence
    POJ 1080 Human Gene Functions
    POJ 1088 滑雪
    POJ 1141 Brackets Sequence
    POJ 1050 To the Max
    HDOJ 1029 Ignatius and the Princess IV
    POJ 2247 Humble Numbers
    HDOJ 1181 变形课
  • 原文地址:https://www.cnblogs.com/tdyang/p/11869898.html
Copyright © 2011-2022 走看看