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

จะลบ SubList ออกจาก ArrayList ใน Java ได้อย่างไร


การใช้ subList() และ clear() วิธีการ

รายการย่อย() เมธอดของอินเทอร์เฟซ List ยอมรับค่าจำนวนเต็มสองค่าที่แสดงดัชนีขององค์ประกอบ และส่งกลับมุมมองของออบเจ็กต์ List ปัจจุบันเพื่อลบองค์ประกอบระหว่างดัชนีที่ระบุ

ชัดเจน() เมธอดของอินเทอร์เฟซ List จะลบองค์ประกอบทั้งหมดออกจากวัตถุ List ปัจจุบัน

ดังนั้น ในการลบรายการย่อยเฉพาะของรายการอาร์เรย์ คุณเพียงแค่เรียกสองวิธีนี้บนออบเจกต์รายการของคุณโดยระบุขอบเขตของรายการย่อยที่คุณต้องการลบเป็น -

obj.subList().clear();

ตัวอย่าง

import java.util.ArrayList;
public class RemovingSubList {
   public static void main(String[] args){
      //Instantiating an ArrayList object
      ArrayList<String> list = new ArrayList<String>();
      list.add("JavaFX");
      list.add("Java");
      list.add("WebGL");
      list.add("OpenCV");
      list.add("OpenNLP");
      list.add("JOGL");
      list.add("Hadoop");
      list.add("HBase");
      list.add("Flume");
      list.add("Mahout");
      list.add("Impala");
      System.out.println("Contents of the Array List: \n"+list);
      //Removing the sub list
      list.subList(4, 9).clear();
      System.out.println("Contents of the Array List after removing the sub list: \n"+list);
   }
}

ผลลัพธ์

Contents of the Array List:
[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]
Contents of the Array List after removing the sub list:
[JavaFX, Java, WebGL, OpenCV, Mahout, Impala]

การใช้เมธอด removeRange()

removeRange() เมธอดของเมธอดคลาส AbstractList ยอมรับค่าจำนวนเต็มสองค่าที่แสดงดัชนีขององค์ประกอบของ ArrayList ปัจจุบันและลบออก

แต่นี่เป็นวิธีการที่มีการป้องกัน และหากต้องการใช้สิ่งนี้ คุณต้อง

  • สืบทอดคลาส ArrayList (จากคลาสของคุณ) โดยใช้คีย์เวิร์ดขยาย

  • ยกตัวอย่างชั้นเรียนของคุณ

  • เพิ่มองค์ประกอบให้กับวัตถุที่ได้รับ

  • จากนั้น ลบรายการย่อยที่ต้องการโดยใช้เมธอด removeRange()

ตัวอย่าง

import java.util.ArrayList;
public class RemovingSubList extends ArrayList<String>{
   public static void main(String[] args){
      RemovingSubList list = new RemovingSubList();
      //Instantiating an ArrayList object
      list.add("JavaFX");
      list.add("Java");
      list.add("WebGL");
      list.add("OpenCV");
      list.add("OpenNLP");
      list.add("JOGL");
      list.add("Hadoop");
      list.add("HBase");
      list.add("Flume");
      list.add("Mahout");
      list.add("Impala");
      System.out.println("Contents of the Array List: \n"+list);
      //Removing the sub list
      list.removeRange(4, 9);
      System.out.println("Contents of the Array List after removing the sub list: \n"+list);
   }
}

ผลลัพธ์

Contents of the Array List:
[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]
Contents of the Array List after removing the sub list:
[JavaFX, Java, WebGL, OpenCV, Mahout, Impala]