前言
简单记录一下 List中删除包含另外一个list的数据。
本文只是记录一下。
正文
下面是之前作者写的:
/*** 这是目前我了解到速度最快的一种*/
@SuppressWarnings("unchecked")
public static List<String> listrem(List<String> listA,List<String> listB){
HashSet hs1 = new HashSet(listA);
HashSet hs2 = new HashSet(listB);
hs1.removeAll(hs2);
List<String> listC = new ArrayList<String>();
listC.addAll(hs1);
return listC;
}
上面的方式测试ok
- 注意指了存储的是String
- 借用HashSet
PS: 如果存储的不是String,是你自定义的Bean类,一定要重写 equals 和 hashCode 方法
不过,如果你用java 1.8,可以直接用List.removeAll()方法。
参考文章
© 版权声明