Java 使用Lambda表达式的并发编程方法

Java 使用Lambda表达式的并发编程方法

Java SE 8的一个重要添加是Lambda表达式功能。使用表达式可以清晰简洁地表达方法接口。集合库非常有帮助。集合可以进行迭代、过滤和提取数据用于有用的目的。为了实现功能接口,广泛使用Lambda表达式。这可以节省很多代码。Lambda表达式允许我们在不重新定义方法的情况下提供实现。在这里只需编写实现代码即可。因为Java Lambda表达式被视为函数。class文件。

功能接口

@FunctionalInterface是一个Java注释,将接口声明为函数式接口。函数式接口只有一个抽象方法。Lambda表达式允许您实现这个功能接口。

为什么使用Lambda表达式

  • 它提供函数式接口的实现。

  • 它提供更少的编码。

Java Lambda表达式语法

(argument-list)
{
   //body
}

它由三个组成部分组成−

  • Argument-List − 可以是空的,也可以是非空的

  • Arrow-Taken − 用于链接参数列表和表达式的主体

  • Body − 包含lambda表达式的表达式和语句

没有参数的语法

()
{
   // body of no parameter lambda
}

一参数语法

(p1)
{
   // body of single parameter lambda
}

双参数语法

(p1,p2)
{
   //body of multiple parameter lambda
}

示例:Java Lambda 表达式

@FunctionalInterface  //It is optional  
interface Drawable{  
   public void draw();  
}  

public class LambdaExpressionExample2 {  
   public static void main(String[] args) {  
      int width=10;  

      //with lambda  
      Drawable d2=()->{  
         System.out.println("Drawing "+width);  
      };  
      d2.draw();  
   }  
}

输出

Drawing 10

示例:无 Lambda 表达式

interface Drawable{  
   public void draw();  
}  
public class LambdaExpressionExample {  
   public static void main(String[] args) {  
      int width=10;  

      //without lambda, Drawable implementation using anonymous class  
      Drawable d=new Drawable(){  
         public void draw(){System.out.println("Drawing "+width);}  
      };  
      d.draw();  
   }  
}

输出

Drawing 10

示例:无参数

interface Sayable{  
   public String say();  
}  
public class LambdaExpressionExample3{  
   public static void main(String[] args) {  
      Sayable s=()->{  
         return "Don’t settle for average.";  
      };  
      System.out.println(s.say());  
   }  
}

输出

Don’t settle for average

示例:单个参数

interface Sayable {  
   public String say(String name);  
}  

public class LambdaExpressionExample4{  
   public static void main(String[] args) {  

      // Lambda expression with single parameter.  
      Sayable s1=(name)->{  
         return "Hello, "+name;  
      };  
      System.out.println(s1.say("World"));  

      // You can omit function parentheses    
      Sayable s2= name ->{  
         return "Hello, "+name;  
      };  
      System.out.println(s2.say("World"));  
   }  
}

输出

Hello, World
Hello, World

示例:多个参数

interface Addable{  
   int add(int a,int b);  
}  

public class LambdaExpressionExample5{  
   public static void main(String[] args) {  

      // Multiple parameters in lambda expression  
      Addable ad1=(a,b)->(a+b);  
      System.out.println(ad1.add(20,20));  

      // Multiple parameters with data type in lambda expression  
      Addable ad2=(int a,int b)->(a+b);  
      System.out.println(ad2.add(200,200));  
   }  
}

输出

40
400

结论

使用表达式,Java SE 8通过lambda表达式特性提供了一个宝贵的补充。以一种清晰简洁的方式表达方法接口已经变得轻而易举。通过集合库提供的许多实用功能,可以进行迭代、过滤和提取数据等操作。Lambda表达式的广泛使用在实现功能接口方面,可以大大减少代码量。Lambda表达式的一个优点是,可以在不冗余地重新定义方法的情况下进行实现。在这个空间里,编写代码给予了实现代码其形式。编译器没有创建,因为没有形成.class文件。函数被视为Java中的lambda表达式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程