如何從 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]
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP