如何从java中从ArrayList中删除重复项
时间:2020-02-23 14:34:22 来源:igfitidea点击:
在本教程中,我们将看到如何从Java中从ArrayList中删除重复元素。
有很多方法可以做到。
他们之中有一些是:
- 使用迭代方法
- 使用HashSet(但不保持插入顺序)
- 使用linkedhashmap.
程序:
package org.igi.theitroad.algo;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.*;
public class RemoveDuplicatesArrayListMain {
/*
* @author : igi 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

