list删除重复元素

方法一:循环元素删除
// 删除ArrayList中重复元素
public static void removeDuplicate1(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(list);
}

java去除list重复值
两种方式,一种无顺序,一种维持原list的元素顺序。

Hastset根据hashcode判断是否重复,数据不会重复

public static void removeDuplicate(ArrayList arlList)    
{    
HashSet h = new HashSet(arlList);    
arlList.clear();    
arlList.addAll(h);    
}   


通过Hashset的add方法判断是否已经添加过相同的数据,如果已存在相同的数据则不添加
 

public static void removeDuplicateWithOrder(ArrayList arlList)    
{    
Set set = new HashSet();    
List newList = new ArrayList();    
for (Iterator iter = arlList.iterator(); iter.hasNext(); )    
{    
Object element = iter.next();    
if (set.add(element)) newList.add(element);    
}    
arlList.clear();    
arlList.addAll(newList);    
}

posted on 2015-03-13 13:49  博客园Jason  阅读(523)  评论(0编辑  收藏  举报

导航