java中删除list重复元素
2013-01-10 15:43
411 查看
方法一:循环元素删除
// 删除ArrayList中重复元素
public static void removeDuplicate(List list) {
for ( int i = 0 ; i < list.size() ; 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中重复元素
public static void removeDuplicate(ArrayList list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);
}
如果用Set ,倘若list里边的元素不是基本数据类型而是对象,
那么请覆写Object的boolean equals(Object obj) 和int hashCode()方法.
return new ArrayList(new HashSet(list));
方法三: 删除ArrayList中重复元素,保持顺序
// 删除ArrayList中重复元素,保持顺序 ,但会有些性能上的牺牲。
public static void removeDuplicateWithOrder(
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);
}
// 删除ArrayList中重复元素
public static void removeDuplicate(List list) {
for ( int i = 0 ; i < list.size() ; 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中重复元素
public static void removeDuplicate(ArrayList list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);
}
如果用Set ,倘若list里边的元素不是基本数据类型而是对象,
那么请覆写Object的boolean equals(Object obj) 和int hashCode()方法.
return new ArrayList(new HashSet(list));
方法三: 删除ArrayList中重复元素,保持顺序
// 删除ArrayList中重复元素,保持顺序 ,但会有些性能上的牺牲。
public static void removeDuplicateWithOrder(
ArrayListlist) {
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);
}
相关文章推荐
- java删除list中的重复元素
- java 删除ArrayList LinkedList集合中的重复元素
- Java 使用List,Set将Person数组中的重复元素删除
- 【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】
- java中删除list重复元素
- java 删除linkedlist链表中重复元素
- Java集合list删除重复元素问题
- java中删除list重复元素
- 利用Java迭代器删除list中元素
- 【Java】List遍历时删除元素的正确方式
- java去掉list中的重复元素
- Java删除ArrayList中的重复元素的2种方法
- Java遍历时删除List、Set、Map中的元素(源码分析)
- Java List遍历中删除元素
- List删除元素报Exception in thread "main" java.util.ConcurrentModificationException异常,或数据删除不完整
- Java动态 遍历List 时删除List特征元素 异常问题 及解决方案总结
- JAVA中循环删除list中元素的方法总结
- Java中循环删除List中元素总结
- 删除有序链表的重复元素 Remove Duplicates from Sorted List
- java 中List 集合删除元素