Java List 去重

import java.util.*;
import java.util.stream.Collectors;

public class QuChong {
public static void main(String[] args) {

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(1);
list.add(3);
list.add(1);
list.add(12);
list.add(1);
list.add(3);
list.add(3);


removeDuplicate(list);
List a = removeDuplicateFromJava8(list);
removeDuplicateByContains(list);
List a = removeDuplicateHashSet(list);
System.out.println( "result:"+ a);
}

//1.Java8 新特性
public static List removeDuplicateFromJava8(List list){

List list1=(List) list.stream().distinct().collect(Collectors.toList());
return list1;

}

//2.循环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);
}
}
}
System.out.println("removeDuplicate" + list);
return list;
}
//把list里的对象遍历一遍,用list.contains(),如果不存在就放入到另一个list集合中
public static List removeDuplicateByContains(List list){
List listTemp = new ArrayList();
for(int i=0;i<list.size();i++){
if(!listTemp.contains(list.get(i))){
listTemp.add(list.get(i));
}
}
System.out.println("removeDuplicateByContains" + listTemp);
return listTemp;

}

// 通过HashSet踢除重复元素
public static List removeDuplicateHashSet(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
return list;
}



}
posted @ 2021-11-24 20:45  漆左闲樵  阅读(53)  评论(0)    收藏  举报