ListUtils用法:对于集合取交集、并集等
package listDemo; import org.apache.commons.collections4.ListUtils; import java.util.ArrayList; import java.util.List; public class ListUtilsDemo { public static void main(String[] args) { List<String> list1 = new ArrayList<>(); list1.add("a"); list1.add("b"); list1.add("c"); list1.add("d"); list1.add("e"); List<String> list2 = new ArrayList<>(); list2.add("d"); list2.add("e"); list2.add("f"); list2.add("g"); list2.add("h"); List<String> subtractList = ListUtils.subtract(list1, list2); System.out.println("subtract"); subtractList.forEach(System.out::println); List<String> intersectionList = ListUtils.intersection(list1, list2); System.out.println("intersection"); intersectionList.forEach(System.out::println); List<String> unionList = ListUtils.union(list1, list2); System.out.println("union"); unionList.forEach(System.out::println); List<String> sumList = ListUtils.sum(list1, list2); System.out.println("sum"); sumList.forEach(System.out::println); } }
打印结果如下:
subtract 在list1但不在list2中
a
b
c
intersection 交集
d
e
union 并集(但有重复,类似于mysql的union all)
a
b
c
d
e
d
e
f
g
h
sum 并集(但无重复,类似于mysql中的union)
a
b
c
d
e
f
g
h