转自 http://hi.baidu.com/pj1990zp/item/0217520f5193528a3d42e251
如果用Set ,倘若list里边的元素不是基本数据类型而是对象,
如果用HashSet的话,如果是对象,则要将对象实现equals和hashCode方法
如果用Set
那么请覆写Object的boolean
return
方法一:循环元素删除
//
1
2
3
4
5
6
7
8
9
10
|
public
static
void
removeDuplicate(Listlist) {
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剔除
//
1
2
3
4
5
6
|
public
static
void
removeDuplicate(Listlist) {
HashSeth =
new
HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);
}
|
方法三:
//
1
2
3
4
5
6
7
8
9
10
11
12
|
public
static
void
removeDuplicateWithOrder
Set
set
=
new
HashSet();
ListnewList =
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);
}
|
如果用HashSet的话,如果是对象,则要将对象实现equals和hashCode方法