
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference between ArrayList.clear() and ArrayList.removeAll() in java?
The ArrayList class in Java is a Resizable-array implementation of the List interface. It allows null values.
Java clear() Method V/S removeAll() Method
There are some important differences between the clear() and removeAll (Collection c) methods of the ArrayList class. This table compares these two methods.
Key | clear() | removeAll() |
---|---|---|
Functionality | Removes all elements from the current list. | Removes elements that are present in the specified collection. |
Result | Empties the entire list, resulting in an empty list. | Only removes specific elements that match those in the provided collection. |
Parameters | Does not take any parameters. | Requires another collection as a parameter. |
Return Type | Returns no value (void method). | Returns true if the list was modified as a result of the call. |
Let's see the following example for clear() method -
Example
The clear() method of the ArrayList class removes all elements from the list. The program creates a list with five string elements, then removes all elements using the clear() method and prints empty 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); } }
Output
Contents of the Array List: [JavaFX, Java, WebGL, OpenCV, Impala] Contents of the ArrayList object after invoking the clear() method: []
Whereas, the removeAll() method of the ArrayList class accepts another collection object as a parameter and removes all the elements of it from the current ArrayList that are also present in the collection passed as the argument to the method.
Example
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); } }
Output
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]