如何从 java 中的 ArrayList 对象中移除冗余元素?
接口集不允许重复元素。此接口的 add() 方法接受元素并将其添加到 Set 对象中,如果添加成功,则返回 true,如果你尝试使用此方法添加现有元素,则添加操作将失败并返回 false。
因此,要移除 ArrayList 对象的冗余元素 -
获取/创建所需的 ArrayList。
创建一个空集合对象。
尝试将 ArrayList 对象的所有元素添加到集合目标。
使用 clear() 方法清除 ArrayList 的内容。
现在,使用 addAll() 方法再次将集合对象的内容添加到 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<String> list = new ArrayList<String>(); 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<String> it = list.iterator(); //Creating an empty Set object Set<String> set = new HashSet<String>(); //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]
广告