在这篇文章中,我们将看到如何在 java 中从 ArrayList 中删除重复元素。 有很多方法可以做到这一点。他们之中有一些是:
-
使用迭代方法
-
使用 HashSet(但不维护插入顺序)
-
使用 LinkedHashMap
程序:
package org.arpit.java2blog.algo;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.*;
public class RemoveDuplicatesArrayListMain {
/*
* @author : Arpit Mandliya
*/
public static void main(String[] args) {
ArrayList employeeNameList = new ArrayList();
employeeNameList.add("John");
employeeNameList.add("Ankit");
employeeNameList.add("Rohan");
employeeNameList.add("John");
employeeNameList.add("Amit");
employeeNameList.add("Ankit");
System.out.println("Removing duplicates from list:");
// Using iterative approach
ArrayList uniqueElements = new ArrayList();
for (String empName : employeeNameList) {
if (!uniqueElements.contains(empName)) {
uniqueElements.add(empName);
}
}
System.out.println("Using iterative approach:");
for (String uniqElem : uniqueElements) {
System.out.println(uniqElem);
}
System.out.println("*******************************");
System.out.println("Using HashSet :");
// using HashSet but does not maintain order
uniqueElements = new ArrayList(new HashSet(
employeeNameList));
for (String uniqElem : uniqueElements) {
System.out.println(uniqElem);
}
System.out.println("*******************************");
System.out.println("Using LinkedHashSet :");
// using LinkedHashSet maintaining order
uniqueElements = new ArrayList(new LinkedHashSet(
employeeNameList));
for (String uniqElem : uniqueElements) {
System.out.println(uniqElem);
}
}
}
当你运行上面的程序时,你会得到以下输出:
Removing duplicates from list:
Using iterative approach:
John
Ankit
Rohan
Amit
*******************************
Using HashSet :
Rohan
Ankit
Amit
John
*******************************
Using LinkedHashSet :
John
Ankit
Rohan
Amit
|