您的位置:首页 > 编程语言 > Java开发

java去除List中重复的元素

2015-11-19 11:52 555 查看
方法一:循环元素删除

// 删除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);

}

如果用HashSet的话,如果是对象,则要将对象实现equals和hashCode方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: