public static List repeatListWayTwo(List<String> list){
//初始化HashSet对象,并把list对象元素赋值给HashSet对象
HashSet set = new HashSet(list);
//把List集合所有元素清空
list.clear();
//把HashSet对象添加至List集合
list.addAll(set);
return list;
}
3、利用TreeSet
TreeSet集合也是实现Set接口,是一个有序的,并且无重复元素集合。
public static List repeatListWayThird(List<String> list){
//初始化TreeSet对象,并把list对象元素赋值给TreeSet对象
TreeSet set = new TreeSet(list);
//把List集合所有元素清空
list.clear();
//把TreeSet对象添加至List集合
list.addAll(set);
return list;
}
大概有几种方式:
1、遍历集合,一一比较,重复的移除。
这种方式可以保证List集合原来的顺序不变。
public static List repeatListWayOne(List<String> list){ for(int i = 0;i < list.size();i++){ for(int j = i+1;j < list.size();j++){ if(list.get(i).equals(list.get(j))){ list.remove(j); } } } return list; }2、利用HashSet
HashSet实现了Set接口,不允许出现重复元素。可以基于这个想法,把List集合所有元素存入HashSet对象,接着把List集合元素全部清空,最后把HashSet对象元素全部添加至List集合中,这样就可以保证不出现重复元素。
public static List repeatListWayTwo(List<String> list){ //初始化HashSet对象,并把list对象元素赋值给HashSet对象 HashSet set = new HashSet(list); //把List集合所有元素清空 list.clear(); //把HashSet对象添加至List集合 list.addAll(set); return list; }3、利用TreeSet
TreeSet集合也是实现Set接口,是一个有序的,并且无重复元素集合。
public static List repeatListWayThird(List<String> list){ //初始化TreeSet对象,并把list对象元素赋值给TreeSet对象 TreeSet set = new TreeSet(list); //把List集合所有元素清空 list.clear(); //把TreeSet对象添加至List集合 list.addAll(set); return list; }实际测试,第二种方式可能效率更高一些。当然,你也可以看看是否有更好的办法。