Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะลบองค์ประกอบออกจาก ArrayList หรือ LinkedList ใน Java ได้อย่างไร


คลาส ArrayList และ LinkedList ใช้อินเทอร์เฟซรายการของ java.util บรรจุุภัณฑ์. อินเทอร์เฟซนี้มี remove() . สองรูปแบบ วิธีการลบองค์ประกอบเฉพาะที่แสดงด้านล่าง -

  • E ลบ (ดัชนี int)

  • ลบบูลีน (วัตถุ o) -

คุณสามารถใช้วิธีใดวิธีหนึ่งเหล่านี้เพื่อลบองค์ประกอบที่ต้องการออกจาก List หรือ linkedList ใน Java

E ลบ (ดัชนี int) − วิธีการนี้ยอมรับจำนวนเต็มที่แสดงตำแหน่งเฉพาะในออบเจกต์ List และลบองค์ประกอบที่ตำแหน่งที่กำหนด หากการดำเนินการลบสำเร็จ เมธอดนี้จะส่งคืนองค์ประกอบที่ถูกลบแล้ว

ถ้าค่าดัชนีที่ส่งผ่านไปยังวิธีนี้น้อยกว่า 0 หรือมากกว่า 1 ข้อยกเว้น IndexOutOfBoundsException จะถูกยกขึ้น

ตัวอย่าง

<ก่อน>นำเข้า java.util.ArrayList; คลาสสาธารณะ RemoveExample { โมฆะสาธารณะหลัก (สตริง [] args) {// สร้างอินสแตนซ์ ArrayList วัตถุ ArrayList arrayList =ใหม่ ArrayList (); arrayList.add("JavaFX"); arrayList.add("จาวา"); arrayList.add("WebGL"); arrayList.add("OpenCV"); System.out.println("เนื้อหาของรายการอาร์เรย์:"+arrayList); //การลบองค์ประกอบ System.out.println("องค์ประกอบที่ถูกลบ:"); System.out.println(arrayList.remove(0)); System.out.println(arrayList.remove(2)); System.out.println(" "); //สร้างตัวอย่างวัตถุ LinkedList ArrayList linkedList =new ArrayList(); linkedList.add("กฤษณะ"); linkedList.add("ซาติช"); linkedList.add("โมฮาน"); linkedList.add("รัชดา"); System.out.println("เนื้อหาของรายการที่เชื่อมโยง:"+arrayList); //การลบองค์ประกอบ System.out.println("องค์ประกอบที่ถูกลบ:"); System.out.println(linkedList.remove(0)); System.out.println(linkedList.remove(2)); }}

ผลลัพธ์

เนื้อหาของรายการอาร์เรย์:[JavaFx, Java, WebGL, OpenCV]ลบองค์ประกอบ:JavaFXOpenCVContents ของรายการที่เชื่อมโยง:[Java, WebGL]ลบองค์ประกอบ:KrishnaRadha

การลบบูลีน (วัตถุ o) − วิธีการนี้ยอมรับวัตถุที่เป็นตัวแทนขององค์ประกอบในรายการ และลบการเกิดขึ้นครั้งแรกขององค์ประกอบที่กำหนด วิธีนี้จะคืนค่าบูลีนซึ่งก็คือ −

  • จริง หากดำเนินการสำเร็จ

  • เท็จ หากดำเนินการไม่สำเร็จ

ตัวอย่าง

<ก่อน>นำเข้า java.util.ArrayList; คลาสสาธารณะ RemoveExample { โมฆะสาธารณะหลัก (สตริง [] args) {// สร้างอินสแตนซ์ ArrayList วัตถุ ArrayList arrayList =ใหม่ ArrayList (); arrayList.add("JavaFX"); arrayList.add("จาวา"); arrayList.add("WebGL"); arrayList.add("OpenCV"); System.out.println("เนื้อหาของรายการอาร์เรย์:"+arrayList); //การลบองค์ประกอบ System.out.println("องค์ประกอบที่ถูกลบ:"); System.out.println(arrayList.remove("JavaFX")); System.out.println(arrayList.remove("WebGL")); System.out.println("เนื้อหาของรายการอาร์เรย์หลังจากลบองค์ประกอบ:"+arrayList); System.out.println(" "); //สร้างตัวอย่างวัตถุ LinkedList ArrayList linkedList =new ArrayList(); linkedList.add("กฤษณะ"); linkedList.add("ซาติช"); linkedList.add("โมฮาน"); linkedList.add("รัชดา"); System.out.println("เนื้อหาของรายการที่เชื่อมโยง:"+linkedList); //การลบองค์ประกอบ System.out.println("องค์ประกอบที่ถูกลบ:"); System.out.println(linkedList.remove("Satish")); System.out.println(linkedList.remove("โมฮาน")); System.out.println("เนื้อหาของรายการที่เชื่อมโยงหลังจากลบองค์ประกอบ:"+linkedList); }}

ผลลัพธ์

เนื้อหาของรายการอาร์เรย์:[JavaFX, Java, WebGL, OpenCV]ลบองค์ประกอบ:truetrueContents ของรายการอาร์เรย์หลังจากลบองค์ประกอบ:[Java, OpenCV]เนื้อหาของรายการที่เชื่อมโยง:[Krishna, Satish, Mohan, Radha] ลบองค์ประกอบ:truetrueContents ของรายการที่เชื่อมโยงหลังจากลบองค์ประกอบ:[Krishna, Radha]

เมธอด remove() ของออบเจ็กต์ Iterator

นอกจากสองวิธีนี้แล้ว คุณยังสามารถลบองค์ประกอบของออบเจ็กต์ LinkedList หรือ ArrayList โดยใช้ remove() ของคลาส Iterator

ตัวอย่าง

<ก่อน>นำเข้า java.util.ArrayList; นำเข้า java.util.Iterator; คลาสสาธารณะ RemoveExample { โมฆะสาธารณะหลัก (สตริง [] args) {// สร้างอินสแตนซ์ ArrayList วัตถุ ArrayList arrayList =new ArrayList( ); arrayList.add("JavaFX"); arrayList.add("จาวา"); arrayList.add("WebGL"); arrayList.add("OpenCV"); System.out.println("เนื้อหาของรายการอาร์เรย์:"+arrayList); //ดึงวัตถุ Iterator Iterator it1 =arrayList.iterator(); it1.next(); it1.remove(); System.out.println("เนื้อหาของรายการอาร์เรย์หลังจากลบองค์ประกอบ:"); ในขณะที่ (it1.hasNext ()) { System.out.println (it1.next ()); } //การสร้างตัวอย่างวัตถุ LinkedList ArrayList linkedList =new ArrayList(); linkedList.add("กฤษณะ"); linkedList.add("ซาติช"); linkedList.add("โมฮาน"); linkedList.add("รัชดา"); System.out.println("เนื้อหาของรายการที่เชื่อมโยง:"+linkedList); //ดึงวัตถุ Iterator Iterator it2 =linkedList.iterator(); it2.next(); it2.remove(); System.out.println("เนื้อหาของรายการที่เชื่อมโยงหลังจากลบองค์ประกอบ:"); ในขณะที่ (it2.hasNext ()) { System.out.println (it2.next ()); } }}

ผลลัพธ์

เนื้อหาของรายการอาร์เรย์:[JavaFX, Java, WebGL, OpenCV]เนื้อหาของรายการอาร์เรย์หลังจากลบองค์ประกอบ:JavaWebGLOpenCVContents ของรายการที่เชื่อมโยง:[Krishna, Satish, Mohan, Radha] เนื้อหาของรายการที่เชื่อมโยงหลังจากลบองค์ประกอบ :SatishMohanRadha