第四章 如何从java中的ArrayList中删除重复项


在这篇文章中,我们将看到如何在 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


原文链接:https://codingdict.com/