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()); }