温馨提示×

java两个list取交集怎么实现

小亿
100
2023-12-01 11:06:25
栏目: 编程语言

可以使用Java 8的Stream API来实现两个List的交集。

假设有两个List list1和List list2,可以使用以下代码来取得两个List的交集:

import java.util.ArrayList;
import java.util.List;

public class IntersectionExample {
    public static void main(String[] args) {
        List<Integer> list1 = new ArrayList<>(List.of(1, 2, 3, 4, 5));
        List<Integer> list2 = new ArrayList<>(List.of(4, 5, 6, 7, 8));

        List<Integer> intersect = list1.stream()
                .filter(list2::contains)
                .toList();

        System.out.println(intersect); // 输出 [4, 5]
    }
}

在上面的代码中,我们使用Stream的filter方法来过滤list1中的元素,只保留那些也在list2中的元素。最后,使用toList方法将结果收集到一个新的List中。

0