Java中Lambda的使用

发布时间:2024年01月16日

Java中的Lambda表达式是Java 8引入的一个重要特性,它提供了一种更简洁的语法来表示匿名函数。Lambda表达式通常用于函数式接口(Functional Interface)的实例化,这些接口只包含一个抽象方法。
下面是Lambda表达式的基本语法:
(parameters) -> expression
或者
(parameters) -> { statements; }

以下是Lambda表达式的一些用法:
1. 基本语法:
// 无参数,无返回值
() -> System.out.println("Hello, Lambda!");

// 有一个参数,无返回值
(name) -> System.out.println("Hello, " + name);

// 有多个参数,有返回值
(a, b) -> a + b

2. 函数式接口的使用:
Lambda表达式通常用于函数式接口,例如Runnable、Callable、Comparator等。
// 使用Lambda表达式实现Runnable接口
Runnable runnable = () -> System.out.println("Running in a separate thread");
new Thread(runnable).start();

3. List的遍历:
List<String> myList = Arrays.asList("Apple", "Banana", "Orange");

// 使用Lambda表达式遍历List
myList.forEach(item -> System.out.println(item));

4. 使用Predicate过滤集合:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// 使用Lambda表达式过滤集合
numbers.stream().filter(n -> n % 2 == 0).forEach(System.out::println);

5. 使用Comparator排序集合:
List<String> names = Arrays.asList("John", "Alice", "Bob", "Eve");

// 使用Lambda表达式进行字符串排序
names.sort((a, b) -> a.compareTo(b));

Lambda表达式的引入使得代码更为简洁,特别是在处理集合、多线程等场景时。请注意,Lambda表达式只能用于函数式接口,即接口中只有一个抽象方法的情况

文章来源:https://blog.csdn.net/weixin_43652507/article/details/135620502
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。