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

Java에서 ArrayList.clear()와 ArrayList.removeAll()의 차이점은 무엇입니까?

<시간/>

Java의 ArrayList 클래스는 List 인터페이스의 크기 조정 가능 배열 구현입니다. null 값을 허용합니다.

명확한() 이 클래스는 현재 List 개체에서 모든 요소를 ​​제거하는 메서드입니다.

예시

import java.util.ArrayList;
public class ClearExample {
   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("Impala");
      System.out.println("Contents of the Array List: \n"+list);
      //Removing the sub list
      list.clear();
      System.out.println("Contents of the ArrayList object after invoking the clear() method: "+list);
   }
}

출력

Contents of the Array List:
[JavaFX, Java, WebGL, OpenCV, Impala]
Contents of the ArrayList object after invoking the clear() method: []

반면 removeAll() ArrayList 클래스의 메서드는 다른 컬렉션 개체를 매개변수로 받아 현재 ArrayList에서 모든 내용을 제거합니다.

예시

import java.util.ArrayList;
public class ClearExample {
   public static void main(String[] args){
      //Instantiating an ArrayList object
      ArrayList<String> list1 = new ArrayList<String>();
      list1.add("JavaFX");
      list1.add("Java");
      list1.add("WebGL");
      list1.add("OpenCV");
      list1.add("OpenNLP");
      list1.add("JOGL");
      list1.add("Hadoop");
      list1.add("HBase");
      list1.add("Flume");
      list1.add("Mahout");
      list1.add("Impala");
      System.out.println("Contents of the Array List1 : \n"+list1);
      ArrayList<String> list2 = new ArrayList<String>();
      list2.add("JOGL");
      list2.add("Hadoop");
      list2.add("HBase");
      list2.add("Flume");
      list2.add("Mahout");
      list2.add("Impala");
      System.out.println("Contents of the Array List1 : \n"+list2);
      //Removing elements
      list1.removeAll(list2);
      System.out.println("Contents of the Array List after removal: \n"+list1);
   }
}

출력

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