java兩個(gè)list取交集怎么實(shí)現(xiàn)

小億
128
2023-12-01 11:06:25

可以使用Java 8的Stream API來(lái)實(shí)現(xiàn)兩個(gè)List的交集。

假設(shè)有兩個(gè)List list1和List list2,可以使用以下代碼來(lái)取得兩個(gè)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方法來(lái)過(guò)濾list1中的元素,只保留那些也在list2中的元素。最后,使用toList方法將結(jié)果收集到一個(gè)新的List中。

0