在資料庫中,可以使用distinct來去重,不過加上distinct會影響一定的性能,是以在一些特殊情況,資料量不是很大的情況,可以利用java集合Set的特性,Set集合資料是不重複的來進行資料過濾
public <T> List<T> distinctListBySet(List<T> list) {
return new ArrayList<T>(new HashSet<T>(list));
}
public <T> List<T> distinctListBySetOrder(List<T> originList) {
List<T> newList = new ArrayList<T>();
Set<T> sortSet = new HashSet<T>();
for (T entity: originList) {
if (sortSet.add(entity)) {
newList.add(entity);
}
}
return newList;
}