1. 工具类
package util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ChaJi {
public static List<Integer> temp(List<Integer> list1,List<Integer> list2) {
List<Integer> different = new ArrayList<Integer>();
List<Integer> maxList = list1;
List<Integer> minList = list2;
if (list2.size() > list1.size()) {
maxList = list2;
minList = list1;
}
Map<Integer, Integer> map = new HashMap<Integer, Integer>(maxList.size());
for (Integer Integer : maxList) {
map.put(Integer, 1);
}
for (Integer Integer : minList) {
if (null!=map.get(Integer)) {
//当前小集合元素在大集合内存在
// 大集合元素对应在map中的key-value的值改为2(标明该元素是共有元素)
map.put(Integer, 2);
continue;
}
//当前小集合元素在大集合内不存在
//将该元素存入different
different.add(Integer);
}
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
//判断大集合内非共有元素
//将元素存入different
if (entry.getValue() == 1) {
different.add(entry.getKey());
}
}
return different;
}
public static void main(String[] args){
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(11);
list1.add(109);
List<Integer> list2 = new ArrayList<>();
list2.add(11);
list2.add(2);
list2.add(13);
list2.add(18);
list2.add(109);
System.out.println(temp(list1,list2).toString());
}
}