最近才发现jdk内置了很方便的List工具类ListUtil,汗颜,以下为常用实例
listA[1,2,3]
listB[2,3,4]
listC[1,2,3,4,5,6,7,8,9]
一、差集(subtract)并集(union)交集(intersection)
ListUtils.subtract(listA, listB); ---[1]
ListUtils.subtract(listB, listA); ---[4]
ListUtils.union(listA, listB); ---[1,2,3,2,3,4]
ListUtils.intersection(listA,listB) ---[2,3]
二、移除(removeAll)拆分(partition)
ListUtils.removeAll(listC,listB) ---[1, 5, 6, 7, 8, 9]
ListUtils.partition(listC,2) ---[[1, 2], [3, 4], [5, 6], [7, 8], [9]]
方法底层重写了equal和hashcode,对于对象的筛选同样有效!