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)

    待更。
  • 相关阅读:
    PowerDesigner中利用数据库表反向生成PDM(jdk必须是32位)
    Struts2 Web Project 实现中文、英语的切换
    一张图解决Struts2添加源码
    Struts2配置文件struts.xml的编辑自动提示代码功能
    Hibernate多对一(注解)
    SQL Server 日期和时间函数
    ORACLE日期时间函数大全
    ORACLE中函数MONTHS_BETWEEN的使用
    SQL经典面试题及答案
    SQL数据库面试题以及答案
  • 原文地址:https://www.cnblogs.com/tdyang/p/11869898.html
Copyright © 2011-2022 走看看