怎么快速的把一个list集合中的元素去重?
(1)利用HashSet去重
package com.ggqq;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
public class Test01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("123");
list.add("123");
list.add("234");
list.add("789");
/*//遍历
//方法一:for循环
for(int i = 0; i<list.size();i++){
System.out.println(list.get(i));
}
//方法二:iterator迭代器
Iterator iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}*/
//方法三:增强for
for(Object s:list){
System.out.println(s);
}
//list添加到HashSet中去重
HashSet hashSet = new HashSet(list);
//清空list
list.clear();
//将HashSet添加到list中
list.addAll(hashSet);
//遍历
for(int i = 0; i<list.size();i++){
System.out.println(list.get(i));
}
}
}
(2)通过List的contains()方法去重
package com.ggqq;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
public class Test02 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("123");
list.add("123");
list.add("234");
list.add("789");
//遍历
Iterator iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
System.out.println("------------------------");
//新建一个tempList,用于存放去重后的
List tempList = new ArrayList();
for(int i = 0 ; i <list.size();i++){
if(!tempList.contains(list.get(i))){
tempList.add(list.get(i));
}
}
//遍历
Iterator iterator2 = tempList.iterator();
while(iterator2.hasNext()){
System.out.println(iterator2.next());
}
}
}
(3) 通过两层for循环判断
package com.ggqq;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test03 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("123");
list.add("123");
list.add("234");
list.add("789");
//遍历
Iterator iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
System.out.println("------------------------");
//从list中索引为0开始往后遍历
for(int i = 0 ; i <list.size()-1;i++){
for(int j = list.size()-1; j>i; j-- ){
if(list.get(i).equals(list.get(j))){
//去重
list.remove(j);
}
}
}
//遍历
Iterator iterator2 = list.iterator();
while(iterator2.hasNext()){
System.out.println(iterator2.next());
}
}
}