要使用 Lambda 表达式获取集合中的重复元素,你可以按照以下步骤进行操作:
创建一个列表或集合,并向其中添加元素。
使用 Stream API 的 filter() 方法结合 Lambda 表达式来筛选出重复元素。
下面是一个示例代码,在 Java 中使用 Lambda 表达式获取集合中的重复元素:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class DuplicateElementsExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(2);
numbers.add(4);
numbers.add(3);
Set<Integer> duplicates = new HashSet<>();
numbers.stream() // 转换成流
.filter(n -> !duplicates.add(n)) // 如果添加到集合失败(即元素已存在),则说明是重复元素
.forEach(System.out::println); // 打印重复元素
}
}
在上述示例中,我们使用了一个 HashSet 来存储已经出现过的元素。通过把元素添加到 HashSet 中,我们可以判断是否添加成功来确定是否为重复元素。
numbers.stream().filter(n -> !duplicates.add(n)) 这一行代码使用了 Lambda 表达式来筛选重复元素。如果元素已经存在于 HashSet 中,add() 方法会返回 false,否则返回 true。通过 !duplicates.add(n),我们可以得到返回值为 true 的重复元素。最后,使用 forEach() 方法来打印重复元素。