欢迎访问宙启技术站
智能推送

Java中的lambda表达式:什么是它们?如何使用它们?

发布时间:2023-06-09 05:55:25

Java中的lambda表达式是一种匿名函数,它可以作为方法的参数,使用简单的语法来定义逻辑块。Lambda表达式可以简化代码,使代码更加简洁易懂,并且可以更方便地处理集合数据。Lambda表达式的语法如下:

(parameter1, parameter2, …) -> {expression}

或者

(parameter1, parameter2, …) -> { statements; }

其中,参数为方法参数名称,箭头表示参数到代码块的映射,花括号中的语句表示Lambda表达式执行的主体。

Lambda表达式的好处之一是其紧凑性。因为它们是匿名的,所以它们可以大大减少代码的冗余。例如,下面的代码需要使用匿名的内部类来创建一个新的线程:

new Thread(new Runnable() {

   @Override

   public void run() {

      System.out.println("Hello World");

   }

}).start();

使用Lambda表达式可使代码更加紧凑:

new Thread(() -> System.out.println("Hello World")).start();

如何使用Lambda表达式?

Lambda表达式在Java 8中引入,并可以应用于Java集合的大多数函数式接口,包括Stream API、Predicate、Consumer、Function等。下面是一些示例:

1.使用Lambda表达式来过滤一个集合:

List<String> names = Arrays.asList("John", "Mary", "Alex", "Mark");

List<String> filteredList = names.stream().filter(name -> !name.startsWith("M")).collect(Collectors.toList());

// Output: [John, Alex]

2.使用Lambda表达式对集合进行排序:

List<String> names = Arrays.asList("John", "Mary", "Alex", "Mark");

Collections.sort(names, (a, b) -> a.compareTo(b));

// Output: [Alex, John, Mark, Mary]

3.使用Lambda表达式遍历集合中的元素:

List<String> names = Arrays.asList("John", "Mary", "Alex", "Mark");

names.forEach(name -> System.out.println(name));

// Output: John, Mary, Alex, Mark

Lambda表达式在Java中是非常方便、简洁的编程方式,它可以节省开发者的大量时间并提高代码质量。因此,在进行Java编程时,学会使用Lambda表达式是一项非常重要的技能。