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));
    
  • 相关阅读:
    Qt出现警告 Unescaped backslashes are deprecated!解决办法
    如何在Android应用程序中使用传感器模拟器SensorSimulator
    如何在Android模拟器上安装apk文件
    Qt学习记录--Qt::CaseSensitive
    VS2010/MFC编程入门教程之目录和总结
    TortoiseSVN客户端重新设置用户名和密码
    SVN服务器搭建和使用(三)
    SVN服务器搭建和使用(二)
    SVN服务器搭建和使用(一)
    Eclipse中安装使用SVN
  • 原文地址:https://www.cnblogs.com/sfencs-hcy/p/11217105.html
Copyright © 2011-2022 走看看