ชุดอินเทอร์เฟซไม่อนุญาตให้องค์ประกอบที่ซ้ำกัน เมธอด add() ของอินเทอร์เฟซนี้ยอมรับองค์ประกอบและเพิ่มไปยังวัตถุ Set หากการเพิ่มสำเร็จก็จะคืนค่าเป็น จริง หากคุณพยายามเพิ่มองค์ประกอบที่มีอยู่โดยใช้วิธีนี้ การดำเนินการเพิ่มเติมจะไม่คืนค่าเท็จ
ดังนั้น เพื่อลบองค์ประกอบที่ซ้ำซ้อนของวัตถุ ArrayList -
-
รับ/สร้าง ArrayList ที่จำเป็น
-
สร้างวัตถุชุดว่าง
-
พยายามเพิ่มองค์ประกอบทั้งหมดของวัตถุ ArrayList เพื่อกำหนดวัตถุประสงค์
-
ล้างเนื้อหาของ ArrayList โดยใช้วิธี clear()
-
ตอนนี้ ใช้เมธอด 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]