List集合去重
关于List集合去重
首先,我们都知道List集合是一个存储有序可重复元素的容器,那么如果要对一个list去重有哪些方法呢?
- 方式一:通过遍历实现去重,遍历遇到重复的元素,删除即可,返回新的集合
// 方式一: 循环list中的所有元素然后删除重复
public static List removeDuplicate(List list) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = list.size() - 1; j > i; j--) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
return list;
}
- 方式二:使用Set集合的特性(不可重复),进行去重:
public static List removeDuplicate2(List list) {
Set set = new HashSet(list);
list.clear();
list.addAll(set);
return list;
}
- 方式三:构造一个新的集合,使用集合原生方法进行判断,并返回去重的集合
//方式三:使用contains()进行判断
public static List removeDuplicate3(List list) {
List newList = new ArrayList();
for (int i = 0; i < list.size()-1; i++) {
if(!newList.contains(list.get(i))){
newList.add(list.get(i));
}
}
return newList;
}