首页 > 编程语言 > 详细

java之流式计算

时间:2021-06-08 22:55:41      阅读:17      评论:0      收藏:0      [点我收藏+]
  1. 例子:StreamDemo
  2. 函数式接口
    1. 技术分享图片
    2.  

          public static void main(String[] args) {
              /**
               * 四大函数是接口
               * */
      //        函数接口
              Function<String,Integer> function=new Function<String, Integer>() {
                  @Override
                  public Integer apply(String s) {
                      return s.length();
                  }
              };
              Function<String,Integer> function1=(String str)->{ return str.length(); };
              System.out.println(function.apply("aaa"));
      
              
      //        断定型接口,布尔型接口
              Predicate<String> predicate=new Predicate<String>() {
                  @Override
                  public boolean test(String s) {
                      return s.isEmpty();
                  }
              };
              Predicate<String> predicate1=(String str)->{ return str.isEmpty(); };
              System.out.println(predicate1.test("a"));
      
      
      //       消费型接口  ,没有返回值
              Consumer<String> consumer=new Consumer<String>() {
                  @Override
                  public void accept(String s) {
                      System.out.println("s = " + s);
                  }
              };
              Consumer<String> consumer1=(str)->{
                  System.out.println("str = " + str);
              };
              consumer1.accept("java i love you!");
      
      
      
      //        供给型接口,没有输入,但是有返回值
              Supplier<String> supplier=new Supplier<String>() {
                  @Override
                  public String get() {
                      return "supplier";
                  }
              };
              Supplier<String> supplier1=()->{ return "supplier";};
              supplier1.get();
      
      
          }
      
          public String getUser(List<User> list) {
              List<User> res=new ArrayList<>();
              for (User user : list) {
                  if (user.getId() % 2 == 0 && user.getAge() > 24) {
                      user.setUserName(user.getUserName().toUpperCase(Locale.ROOT));
                      res.add(user);
                  }
      
              }
              return res.get(res.size()-1).getUserName();
          }

       

       

        
  3. Stream流
    1. what
      1. 流到底是什么呢?是数据渠道,用于操作数据源(集合,数组等)所生成的元素序列   
      2. 集合讲的是数据,流讲的是计算  
    2. why
      1. stream自己不会存储元素
      2. stream不会改变源对象。相反,他们会返回一个持有结果的新的stream
      3. stream操作是延迟执行的,这意味着他们会等到需要结果是才执行    
    3. how
      1. 阶段
        1. 创建一个Stream:一个数据源(数组,集合)
        2. 中间操作:一个中间操作,处理数据源数据
        3. 种植操作:一个种植操作,执行中间操作链,产生结果  
      2. 源头=>中间流水线=>结果 

java之流式计算

原文:https://www.cnblogs.com/zzhAylm/p/14864651.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!