Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để xóa SubList khỏi ArrayList trong Java?

Sử dụng phương thức subList () và clear ()

Danh sách con () phương thức của giao diện Danh sách chấp nhận hai giá trị số nguyên đại diện cho các chỉ mục của các phần tử và, trả về một dạng xem của đối tượng Danh sách hiện tại, loại bỏ các phần tử giữa các chỉ số được chỉ định.

clear () phương thức của giao diện Danh sách loại bỏ tất cả các phần tử khỏi đối tượng Danh sách hiện tại.

Do đó, để loại bỏ một danh sách con cụ thể của một danh sách mảng, bạn chỉ cần gọi hai phương thức này trên đối tượng danh sách của mình bằng cách chỉ định ranh giới của danh sách con mà bạn cần loại bỏ là -

obj.subList().clear();

Ví dụ

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);
   }
}

Đầu ra

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]

Sử dụng phương thức removeRange ()

removeRange () phương thức của phương thức lớp AbstractList chấp nhận hai giá trị nguyên đại diện cho các chỉ mục của các phần tử của ArrayList hiện tại và loại bỏ chúng.

Nhưng đây là một phương pháp được bảo vệ và để sử dụng nó, bạn cần phải

  • Kế thừa lớp ArrayList (từ lớp của bạn) bằng cách sử dụng từ khóa expand.

  • Khởi tạo lớp học của bạn.

  • Thêm các phần tử vào đối tượng thu được.

  • Sau đó, xóa danh sách con mong muốn bằng phương thức removeRange ().

Ví dụ

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);
   }
}

Đầu ra

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]