兩個 List 集合獲取公共部分、差集


一、代碼

public class LambdaDemo {
    public static void main(String[] args) {

        List<User> list1 = Arrays.asList(
                new User(1, "mao", 22),
                new User(2, "xiaomao", 23),
                new User(3, "xiaomaomao", 24),
                new User(4, "xiaoxiaomaomao", 25)
        );

        List<User> list2 = Arrays.asList(
                new User(1, "mao", 22),
                new User(2, "xiaomao", 23),
                new User(3, "xiaomaomao", 24)
        );

        // 兩個集合的重復部分
        List<User> duplicateList = list1.stream().filter((item) -> list2.stream().map((item2) -> item2.getId()).collect(Collectors.toList()).contains(item.getId())).collect(Collectors.toList());
        // 兩個集合的差集 (list1-list2)
        List<User> differentList = list1.stream().filter((item) -> !list2.stream().map((item2) -> item2.getId()).collect(Collectors.toList()).contains(item.getId())).collect(Collectors.toList());

        System.out.println("重復的元素為: " + duplicateList);

        System.out.println("兩個集合的差集為: " + differentList);
    }
}

二、測試

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM