
接口集不允许重复元素。此接口的add()方法接受元素并添加到Set对象中,如果添加成功,则返回true;如果尝试使用此方法添加现有元素,则添加操作失败并返回false。
因此,要删除ArrayList对象中的冗余元素,可以按照以下步骤进行操作:
获取/创建所需的ArrayList。
-
创建一个空的set对象。
立即学习“Java免费学习笔记(深入)”;
尝试将ArrayList对象的所有元素添加到set对象中。
使用clear()方法清除ArrayList的内容。
现在,使用addAll()方法将set对象的内容再次添加到ArrayList中。
示例
演示
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class RemovingDuplicates {
public static void main(String[] args){
//Instantiating an ArrayList object
ArrayList list = new ArrayList();
list.add("JavaFX");
list.add("Java");
list.add("JavaFX");
list.add("OpenCV");
list.add("Java");
list.add("JOGL");
list.add("JOGL");
list.add("HBase");
list.add("Flume");
list.add("HBase");
list.add("Impala");
System.out.println("Contents of the Array List : \n"+list);
//Retrieving Iterator object of the ArrayList class
Iterator it = list.iterator();
//Creating an empty Set object
Set set = new HashSet();
//Adding elements of the ArrayList to the Set object
while(it.hasNext()) {
set.add(it.next());
}
//Removing all the elements from the ArrayList
list.clear();
//Adding elements of the set back to the list
list.addAll(set);
System.out.println("Contents of the Array List after removing duplicate elements: \n"+list);
}
} 输出
Contents of the Array List : [JavaFX, Java, JavaFX, OpenCV, Java, JOGL, JOGL, HBase, Flume, HBase, Impala] Contents of the Array List after removing duplicate elements: [JavaFX, Java, OpenCV, JOGL, Flume, Impala, HBase]











