如何從 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]
廣告