效果
public static void main(String[] args) {
List<String> l1 = new ArrayList<>();
l1.add("aa");
l1.add("bb");
List<String> l2 = new ArrayList<>();
l2.add("aa");
l2.add("bb");
l2.add("cc");
List<String> l3 = getdifferentList(l1, l2);
System.out.println(l3);
}
实现:
private static List<String> getdifferentList(List<String> list1, List<String> list2) {
Map<String, Integer> map = new HashMap<String, Integer>();
List<String> longList = list1;
List<String> shortList = list2;
if (list2.size() > list1.size()) {
longList = list2;
shortList = list1;
}
for (String string : shortList) {
map.put(string, 0);
}
shortList.clear();
Integer in;
for (String string : longList) {
in = map.get(string);
if (null == in) {
shortList.add(string);
}
}
return shortList;
}