This method is used to retain all the elements present in the collection from the specified collection into the list.
Syntax:
boolean retainAll(Collection c)
Parameters: This method has only argument, collection of which elements are to be retained in the given list.
Returns: This method returns True if elements are retained and list changes.
Below programs show the implementation of this method.
Program 1:
// Java code to show the implementation of// retainAll method in list interfaceimport java.util.*;public class GfG {      // Driver code    public static void main(String[] args)    {          // Initializing a list of type Linkedlist        List<Integer> l = new LinkedList<>();        l.add(1);        l.add(3);        l.add(5);        l.add(7);        l.add(9);        System.out.println(l);          ArrayList<Integer> arr = new ArrayList<>();        arr.add(3);        arr.add(5);        l.retainAll(arr);          System.out.println(l);    }} |
[1, 3, 5, 7, 9] [3, 5]
Program 2: Below is the code to show implementation of list.retainAll() using Linkedlist.
// Java code to show the implementation of// retainAll method in list interfaceimport java.util.*;public class GfG {      // Driver code    public static void main(String[] args)    {          // Initializing a list of type Linkedlist        List<String> l = new LinkedList<>();        l.add("10");        l.add("30");        l.add("50");        l.add("70");        l.add("90");        System.out.println(l);          ArrayList<String> arr = new ArrayList<>();        arr.add("30");        arr.add("50");        l.retainAll(arr);          System.out.println(l);    }} |
[10, 30, 50, 70, 90] [30, 50]
Reference:
Oracle Docs
