บทความนี้จะให้สองวิธีในการลบองค์ประกอบซ้ำ ๆ จาก ArrayList ซึ่งใช้ HashSet และ LinkedHashSet
ArrayList เป็นหนึ่งในประเภทคอลเลกชันที่ใช้กันมากที่สุดใน Java ช่วยให้สามารถเพิ่มองค์ประกอบโมฆะหลายอย่างได้อย่างยืดหยุ่นองค์ประกอบซ้ำและรักษาลำดับของการแทรกองค์ประกอบ เมื่อเขียนโค้ดเรามักจะพบข้อกำหนดที่ต้องลบองค์ประกอบซ้ำจาก ArrayList ที่สร้างขึ้น
วิธีที่ 1: ใช้ HashSet เพื่อลบองค์ประกอบซ้ำใน ArrayList
ในวิธีนี้เราใช้ HashSet เพื่อลบองค์ประกอบซ้ำ อย่างที่คุณทราบ HashSet ไม่อนุญาตให้มีองค์ประกอบซ้ำ ๆ เราใช้แอตทริบิวต์นี้ของ HashSet เพื่อลบองค์ประกอบที่ซ้ำกันใน ARRAYLIST ในตัว อย่างไรก็ตามวิธีนี้มีข้อเสีย นั่นคือมันจะลบลำดับการแทรกขององค์ประกอบใน ArrayList ซึ่งหมายความว่าหลังจากลบองค์ประกอบซ้ำ ๆ ลำดับขององค์ประกอบไม่ถูกต้อง ลองดูตัวอย่างต่อไปนี้
นำเข้า java.util.arraylist; นำเข้า java.util.hashset; . เพิ่ม ("java"); / การพิมพ์ listwithduplicationElements System.print ("ArrayList ที่มีองค์ประกอบที่ซ้ำกัน:"); String> ts = new ArrayList <String> (set);เอาท์พุท:
ArrayList ที่มีองค์ประกอบที่ซ้ำกัน: [Java, J2ee, JSP, Servlets, Java, struts, JSP] ArrayList หลังจากจับคู่องค์ประกอบที่ซ้ำกัน: [Java, JSP, J2EE, str Uts]
ให้ความสนใจกับผลลัพธ์ผลลัพธ์ คุณจะพบว่าหลังจากลบองค์ประกอบที่ซ้ำกันแล้วองค์ประกอบจะถูกสับเปลี่ยน ไม่ได้จัดเรียงตามลำดับของการแทรกอีกต่อไป หากคุณต้องการรักษาลำดับขององค์ประกอบหลังจากลบองค์ประกอบซ้ำ ๆ ไม่แนะนำให้ใช้วิธีนี้ มีวิธีอื่นที่สามารถมั่นใจได้ว่าลำดับการแทรกขององค์ประกอบจะไม่เปลี่ยนแปลงหลังจากลบองค์ประกอบซ้ำ นั่นคือการใช้ LinkedHashSet
วิธีที่ 2: ใช้ LinkedHashSet เพื่อลบองค์ประกอบซ้ำใน ArrayList
ในวิธีนี้เราใช้ LinkedHashSet เพื่อลบองค์ประกอบซ้ำใน ArrayList อย่างที่คุณทราบ LinkedHashSet ไม่อนุญาตให้มีองค์ประกอบซ้ำ ๆ ในขณะที่ยังคงลำดับของการแทรกองค์ประกอบ คุณลักษณะทั้งสองของ LinkedHashSet สามารถมั่นใจได้ว่าหลังจากลบองค์ประกอบซ้ำ ๆ ใน ArrayList ลำดับขององค์ประกอบการแทรกยังคงอยู่ ดูตัวอย่างต่อไปนี้
นำเข้า java.util.arraylist; นำเข้า java.util.linkedhaset; ); ("ArrayList ที่มีองค์ประกอบที่ซ้ำกัน:"); ;เอาท์พุท:
ArrayList ที่มีองค์ประกอบที่ซ้ำกัน: [java, j2ee, jsp, servlets, java, struts, jsp] arraylist หลังจากการแข่งขันองค์ประกอบที่ซ้ำกัน: [java, jspe, บริการ UTS]
ให้ความสนใจกับผลลัพธ์ คุณสามารถพบว่าหลังจากลบองค์ประกอบซ้ำ ๆ ใน ArrayList คำสั่งของการแทรกยังคงอยู่
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้