Find Common elements in array
public static void findCommon() {
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
// Add values in ArrayList
list1.add("Hii");
list1.add("Geeks");
list1.add("for");
list1.add("Geeks");
System.out.println("List1: " + list1);
list2.add("Hii");
list2.add("Geeks");
list2.add("Gaurav");
System.out.println("List2: "+ list2);
// USE Collections1.retainAll(Collections2)
// This method keeps only the common elements of both Collection in Collection1.
list1.retainAll(list2);
System.out.println("Common elements: "+ list1);
// if we need to keep list1
ArrayList<String> list3 = new ArrayList<String>(list1);
// Store the comparison output in ArrayList list3
list3.retainAll(list2);
// Using Stream
list1.stream().filter(list2::contains).collect(Collectors.toList());
/////////////// Straight traverse
for (String temp : list1) {
if (list2.contains(temp)) {
// Since present, add it to list3
list3.add(temp);
}
}
System.out.println("Common elements: " + list3);
}