Last Updated : 11 Jul, 2025
Try it on GfG Practice
Prerequisite: ArrayList in JavaGiven two ArrayLists, the task is to print all common elements in both the ArrayLists in Java .
Examples:Input: List1 = ["Hii", "Geeks", "for", "Geeks"], List2 = ["Hii", "Geeks", "Gaurav"] Output: [Hii, Geeks, Geeks] Input: List1 = ["a", "b", "c", "d", "e", "f"], List2 = ["b", "d", "e", "h", "g", "c"] Output:[b, c, d, e]
Collections1.retainAll(Collections2) This method keeps only the common elements of both Collection in Collection1.Approach:
// Java Program to find common elements
// in two ArrayLists
// Using retainAll() method
// import ArrayList package
import java.util.ArrayList;
public class GFG {
// main method
public static void main(String[] args)
{
// create ArrayList list1
ArrayList<String>
list1 = new ArrayList<String>();
// Add values in ArrayList
list1.add("Hii");
list1.add("Geeks");
list1.add("for");
list1.add("Geeks");
// print list 1
System.out.println("List1: "
+ list1);
// Create ArrayList list2
ArrayList<String>
list2 = new ArrayList<String>();
// Add values in ArrayList
list2.add("Hii");
list2.add("Geeks");
list2.add("Gaurav");
// print list 2
System.out.println("List2: "
+ list2);
// Find the common elements
list1.retainAll(list2);
// print list 1
System.out.println("Common elements: "
+ list1);
}
}
Output:
List1: [Hii, Geeks, for, Geeks] List2: [Hii, Geeks, Gaurav] Common elements: [Hii, Geeks, Geeks]Program 2: By retaining the contents of List1. Java
// Java Program to find common elements
// in two ArrayLists
// Using retainAll() method
// import ArrayList package
import java.util.ArrayList;
public class GFG {
// main method
public static void main(String[] args)
{
// create ArrayList list1
ArrayList<String>
list1 = new ArrayList<String>();
// Add values in ArrayList
list1.add("Hii");
list1.add("Geeks");
list1.add("for");
list1.add("Geeks");
// print list 1
System.out.println("List1: "
+ list1);
// Create ArrayList list2
ArrayList<String>
list2 = new ArrayList<String>();
// Add values in ArrayList
list2.add("Hii");
list2.add("Geeks");
list2.add("Gaurav");
// print list 2
System.out.println("List2: "
+ list2);
// Create ArrayList list3
ArrayList<String>
list3 = new ArrayList<String>(list1);
// Store the comparison output
// in ArrayList list3
list3.retainAll(list2);
// print list 3
System.out.println("Common elements: "
+ list3);
}
}
Output:
List1: [Hii, Geeks, for, Geeks] List2: [Hii, Geeks, Gaurav] Common elements: [Hii, Geeks, Geeks]
list1.stream() .filter(list2::contains) .collect(Collectors .toList())); This method returns element if found in second list.Approach:
// Java Program to find common elements
// in two ArrayLists
// Using Stream filter method
// import ArrayList package
import java.util.*;
import java.util.stream.*;
public class GFG {
// main method
public static void main(String[] args)
{
// create ArrayList list1
ArrayList<String>
list1 = new ArrayList<String>();
// Add values in ArrayList
list1.add("Hii");
list1.add("Geeks");
list1.add("for");
list1.add("Geeks");
// print list 1
System.out.println("List1: "
+ list1);
// Create ArrayList list2
ArrayList<String>
list2 = new ArrayList<String>();
// Add values in ArrayList
list2.add("Hii");
list2.add("Geeks");
list2.add("Gaurav");
// print list 2
System.out.println("List2: "
+ list2);
// Find common elements
System.out.print("Common elements: ");
System.out.println(list1.stream()
.filter(list2::contains)
.collect(Collectors
.toList()));
}
}
Output:
List1: [Hii, Geeks, for, Geeks] List2: [Hii, Geeks, Gaurav] Common elements: [Hii, Geeks, Geeks]
// Java Program to find common elements
// in two ArrayLists
// Using Stream filter method
// import ArrayList package
import java.util.ArrayList;
public class GFG {
// main method
public static void main(String[] args)
{
// create ArrayList list1
ArrayList<String>
list1 = new ArrayList<String>();
// Add values in ArrayList
list1.add("Hii");
list1.add("Geeks");
list1.add("for");
list1.add("Geeks");
// print list 1
System.out.println("List1: "
+ list1);
// Create ArrayList list2
ArrayList<String>
list2 = new ArrayList<String>();
// Add values in ArrayList
list2.add("Hii");
list2.add("Geeks");
list2.add("Gaurav");
// print list 2
System.out.println("List2: "
+ list2);
// Create ArrayList list3
ArrayList<String>
list3 = new ArrayList<String>();
// Find common elements
// while iterating through list1
for (String temp : list1) {
// Check if the element is
// present in list2 or not
if (list2.contains(temp)) {
// Since present, add it to list3
list3.add(temp);
}
}
// print common elements from list 3
System.out.println("Common elements: "
+ list3);
}
}
Output:
List1: [Hii, Geeks, for, Geeks] List2: [Hii, Geeks, Gaurav] Common elements: [Hii, Geeks, Geeks]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4