zoukankan      html  css  js  c++  java
  • java中使用lambda表达式

    使用lambda表达式能够使复杂的编写方式变的简单

    lambda表达式的语法

    (parameters) -> expression
    或
    (parameters) ->{ statements; }
    

    简单的例子

    (int x, int y) -> x + y //返回x+y
    (String s) -> System.out.print(s) //输出s
    

    使用lambda表达式

    使用lambda表达式完成for循环
    String[] str = {"a","b","c","d"};
    
    List<String> list = Arrays.asList(str);
    
    for(String s:list){
        System.out.println(s);
    }
    
    //lambda
    list.forEach(s -> System.out.println(s));
    
    //双冒号
    list.forEach(System.out::println);
    
    使用lambda表达式实现Runnable接口
    new Thread(new Runnable() {  
        @Override  
        public void run() {  
            System.out.println("Hello world !");  
        }  
    }).start();  
    
    // 使用 lambda  
    new Thread(() -> System.out.println("Hello world !")).start();
    
    Runnable race1 = new Runnable() {  
        @Override  
        public void run() {  
            System.out.println("Hello world !");  
        }  
    };  
    
    // 使用 lambda表达式 
    Runnable race2 = () -> System.out.println("Hello world !");  
    
    // 直接调用 run 方法 
    race1.run();  
    race2.run();
    
    使用lambda完成事件处理
    // 使用匿名内部类  
    btn.setOnAction(new EventHandler<ActionEvent>() {  
              @Override  
              public void handle(ActionEvent event) {  
                  System.out.println("Hello World!");   
              }  
        });  
    
    // 或者使用 lambda expression  
    btn.setOnAction(event -> System.out.println("Hello World!"));
    
    使用lambda排序
    String[] str = {"c","b","a","d"};
    
    //使用匿名内部类
    Arrays.sort(str, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return (s1.compareTo(s2));
        }
    });
    
    //1使用lambda
    Comparator<String> sortString = (String s1, String s2) -> (s1.compareTo(s2));
    Arrays.sort(str, sortString);
    
    //2使用lambda
    Arrays.sort(str, (String s1, String s2) -> (s1.compareTo(s2)));
    List<String> list = Arrays.asList(str);
    
    list.forEach(s -> System.out.println(s));
    
  • 相关阅读:
    关于数据库字符集编码及通用软件产品的设计表结构的注意事项
    记一次调用第三方接口,对方获取到参数乱码问题
    Java获取固定格式日期&计算日期相差时长
    Redis之雪崩、穿透、击穿
    [LeetCode] 两数相加 (JavaScript 解法)
    React hooks 获取 dom 引用
    PHP + Redis 实现定任务触发
    测试PHP几种方法写入文件的效率与安全性
    如何调整firefox鼠标滚轮速度
    美美Apple ID 注册教程
  • 原文地址:https://www.cnblogs.com/sfencs-hcy/p/11217105.html
Copyright © 2011-2022 走看看