Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java의 ArrayList에서 SubList를 제거하는 방법은 무엇입니까?

<시간/>

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 요소의 인덱스를 나타내는 두 개의 정수 값을 받아 제거합니다.

그러나 이것은 보호된 방법이며 이것을 사용하려면

  • extends 키워드를 사용하여 클래스에서 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]