从Java中的ArrayList中删除重复项

可以使用HashSet从ArrayList中删除重复项,因为HashSet中不允许重复项。因此,ArrayList将转换为HashSet并删除重复项。然后将HashSet转换回ArrayList。

演示此程序如下

示例

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class Demo {
   public static void main(String[] args) {
      List<String> aList1 = new ArrayList<String>();
      aList1.add("Adam");
      aList1.add("John");
      aList1.add("Mary");
      aList1.add("Adam");
      aList1.add("Mary");
      System.out.println("ArrayList项是:" );
      for (String i : aList1)
      System.out.println(i);
      HashSet h = new HashSet(aList1);
      List aList2 = new ArrayList(h);
      System.out.println("\nThe ArrayList items after removing duplicates are:" );
      for (String i : aList2)
      System.out.println(i);
   }
}

输出结果

上面程序的输出如下

ArrayList项是:
Adam
John
Mary
Adam
Mary
The ArrayList items after removing duplicates are:
Adam
John
Mary

现在让我们了解上面的程序。

创建ArrayList aList1。然后,使用ArrayList.add()将元素添加到此ArrayList中。然后显示ArrayList元素。演示这的代码片段如下

List<String> aList1 = new ArrayList<String>();
aList1.add("Adam");
aList1.add("John");
aList1.add("Mary");
aList1.add("Adam");
aList1.add("Mary");
System.out.println("ArrayList项是:" );
for (String i : aList1)
System.out.println(i);

之后,将ArrayList转换为HashSet并删除重复项。然后将HashSet转换回ArrayList,即aList2。然后显示没有重复的ArrayList元素。演示这的代码片段如下

HashSet h = new HashSet(aList1);
List aList2 = new ArrayList(h);
System.out.println("\nThe ArrayList items after removing duplicates are:" );
for (String i : aList2)
System.out.println(i);