For removing one array from another array in java we will use the removeAll() method. This will remove all the elements of the array1 from array2 if we call removeAll() function from array2 and array1 as a parameter.
Syntax:
public boolean removeAll(Collection c)
Parameters: This method takes collection c as a parameter containing elements to be removed from this list.
Returns Value: This method returns true if this list changed as a result of the call.
Example 1:
Java
// Java program to Remove One Array From Another Array import java.util.ArrayList; import java.util.List; class GFG { public static void main(String[] args) { // creating first array List<Integer> firstList = new ArrayList<>(); // creating second array List<Integer> secondList = new ArrayList<>(); // adding elements in first array firstList.add( 100 ); firstList.add( 200 ); firstList.add( 300 ); firstList.add( 400 ); firstList.add( 500 ); firstList.add( 600 ); // adding elements in second array secondList.add( 300 ); secondList.add( 500 ); // displaying element of first array System.out.println( "elements in first array " + firstList); // displaying element of second array System.out.println( "elements in second array " + secondList); // removing elements from firstarray firstList.removeAll(secondList); // displaying elements of first array // after removing elements of second array // from first array System.out.println( "first array after removing second array from first array\n" + firstList); } } |
elements in first array [100, 200, 300, 400, 500, 600] elements in second array [300, 500] first array after removing second array from first array [100, 200, 400, 600]
Example 2:
In this example instead of using wrapper classes of java, we will use user-defined class but for using user-defined class we need to override equals() and hashCode() method.
Java
// Java program to Remove One Array From Another Array import java.io.*; import java.util.*; class friendsDetail { // class field private String name; private String nickName; // parameterised constructor public friendsDetail(String name, String nickName) { this .name = name; this .nickName = nickName; } // getter for name public String getName() { return name; } // setter for name public void setName(String name) { this .name = name; } // getter for nickname public String getnickName() { return nickName; } // setter for nickname public void setNickName( int id) { this .nickName = nickName; } @Override public boolean equals(Object o) { if ( this == o) return true ; if (!(o instanceof friendsDetail)) return false ; friendsDetail that = (friendsDetail)o; return Objects.equals(getName(), that.getName()) && Objects.equals(nickName, that.nickName); } @Override public int hashCode() { return Objects.hash(getName(), nickName); } // overriding toString method public String toString() { // return super.toString(); return "(" + this .getName() + ":" + this .getnickName() + ")" ; } } public class GFG { public static void main(String[] args) { ArrayList<friendsDetail> firstArrayList = new ArrayList<>(); System.out.println( "Our First ArrayList\n" ); // adding elements to first ArrayList firstArrayList.add( new friendsDetail( "Amit" , "Ghulla" )); firstArrayList.add( new friendsDetail( "Yashdeep" , "Dopa" )); firstArrayList.add( new friendsDetail( "Jyoti" , "Kauwa" )); firstArrayList.add( new friendsDetail( "Suraj" , "Bhindi" )); firstArrayList.add( new friendsDetail( "Himanshu" , "Lalten" )); firstArrayList.add( new friendsDetail( "Sarthak" , "Nagin" )); firstArrayList.add( new friendsDetail( "Tsering" , "Battak" )); firstArrayList.add( new friendsDetail( "Abhishek" , "Liquid" )); // Displaying output of first array using enhanced // for loop for (friendsDetail friend : firstArrayList) { System.out.println(friend); } ArrayList<friendsDetail> secondArrayList = new ArrayList<>(); System.out.println( "\nOur Second ArrayList\n" ); // adding elements to second ArrayList. secondArrayList.add( new friendsDetail( "Amit" , "Ghulla" )); secondArrayList.add( new friendsDetail( "Jyoti" , "Kauwa" )); secondArrayList.add( new friendsDetail( "Himanshu" , "Lalten" )); secondArrayList.add( new friendsDetail( "Abhishek" , "Liquid" )); // Displaying output of original array using // enhanced for loop for (friendsDetail friend : secondArrayList) { System.out.println(friend); } // removing second array elements from first array firstArrayList.removeAll(secondArrayList); System.out.println( "\nFirst array after removing second array from first array\n" ); // Displaying first array after removing second // array elements from first array for (friendsDetail friend : firstArrayList) { System.out.println(friend); } } } |
Our First ArrayList (Amit:Ghulla) (Yashdeep:Dopa) (Jyoti:Kauwa) (Suraj:Bhindi) (Himanshu:Lalten) (Sarthak:Nagin) (Tsering:Battak) (Abhishek:Liquid) Our Second ArrayList (Amit:Ghulla) (Jyoti:Kauwa) (Himanshu:Lalten) (Abhishek:Liquid) First array after removing second array from first array (Yashdeep:Dopa) (Suraj:Bhindi) (Sarthak:Nagin) (Tsering:Battak)