剔除List中的重复值

zjun Lv4

方法一:循环元素删除

1
2
3
4
5
6
7
8
9
10
11
//  删除ArrayList中重复元素
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剔除

1
2
3
4
5
6
7
//  删除ArrayList中重复元素
public static void removeDuplicate(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);
}

方法三: 删除ArrayList中重复元素,保持顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
// 删除ArrayList中重复元素,保持顺序
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);
}
  • 标题: 剔除List中的重复值
  • 作者: zjun
  • 创建于 : 2007-01-18 13:48:00
  • 更新于 : 2023-11-25 00:22:08
  • 链接: https://zjun.site/2007/01/6eee36bed6f2.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论