List 集合交集、并集、差集

发布时间 2023-08-02 15:17:31作者: 谢世林
public static void main(String[] args) {
        List<IndexRules> list1 = new ArrayList<>();
        List<IndexRules> list2 = new ArrayList<>();

        list1.add(new IndexRules().setId(1L).setRuleName("a"));
        list1.add(new IndexRules().setId(2L).setRuleName("b"));
        list1.add(new IndexRules().setId(3L).setRuleName("c"));

        list2.add(new IndexRules().setId(7L).setRuleName("7"));
        list2.add(new IndexRules().setId(4L).setRuleName("d"));
        list2.add(new IndexRules().setId(5L).setRuleName("e"));

        //求交集
        list1.retainAll(list2);
        System.out.println(list1.toString()); // b

        //求并集
        list1.removeAll(list2);
        list1.addAll(list2);
        System.out.println(list1.toString());  // a c b e d

        //求差集(list1有而list2没有)
        list1.removeAll(list2);   // a c
        System.out.println(list1.toString());

    }