
在实际的开发过程中,某些特定场合,可能会遇到处理list求并集、交集、差集、无重复并集的问题。最近团队有人反馈这个问题,特此总结如下:
package com.model;
import java.util.ArrayList;
import java.util.List;
public class ListTest {
public static void main(String[] args) {
List list1 = new ArrayList();
list1.add("11111111111");
list1.add("22222222222");
List list2 = new ArrayList();
list2.add("22222222222");
list2.add("33333333333");
list2.add("44444444444");
list2.addAll(list1); //并集
//list2.removeAll(list1); //差集
//list2.retainAll(list1); //交集
//无重复并集(即先求差集,再做并集)
// list2.removeAll(list1);
// list1.addAll(list2);
System.out.println("--------------------------------------");
System.out.println(list2.size());
System.out.println(list2.toString());
System.out.println("--------------------------------------");
}
}
注意如下求交集的形式:
list2.retainAll(list1)
这里list2的结果会变为list1和list2的交集,而list1是不改变的。





























