如果用Set ,倘若list里边的元素不是基本数据类型而是对象,
那么请覆写Object的boolean equals(Object obj) 和int hashCode()方法.
return new ArrayList(new HashSet(list));
方法一:循环元素删除
// 删除ArrayList中重复元素
1
2
3
4
5
6
7
8
9
10
|
public static void 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(list); } |
方法二:通过HashSet剔除
// 删除ArrayList中重复元素
1
2
3
4
5
6
|
public static void removeDuplicate(List
list) { HashSet
h = new HashSet(list); list.clear(); list.addAll(h); System.out.println(list); } |
方法三: 删除ArrayList中重复元素,保持顺序
// 删除ArrayList中重复元素,保持顺序
1
2
3
4
5
6
7
8
9
10
11
12
|
public static void removeDuplicateWithOrder(List
list) { Set
set = new HashSet(); List
newList = new ArrayList(); for (Iterator
iter = list.iterator(); iter.hasNext();) { Object
element = iter.next(); if (set.add(element)) newList.add(element); } list.clear(); list.addAll(newList); System.out.println( "
remove duplicate " +
list); |