import java.util.*;
public class UnionIntersectionOfTwoListsExample {
public static void main (String[] args) {
List<String> list1 = new ArrayList<String>(Arrays.asList("a","b","c","d","e"));
List<String> list2 = new ArrayList<String>(Arrays.asList("b","d","f","g"));
//Find union of two lists
System.out.println("Union of List1 and List2 :" + getUnionOfLists(list1, list2));
//Find intersect of lists using Stream API (Java 8)
System.out.println("Intersection of List1 & List2 Method 1: " + getIntersectOfLists1(list1, list2));
//Find intersect of lists using retainAll() method
System.out.println("Intersection of List1 & List2 Method 2: " + getIntersectOfLists2(list1, list2));
}
private static List<String> getUnionOfLists(List<String> list1, List<String> list2) {
Set<String> set = new HashSet<>();
set.addAll(list1);
set.addAll(list2);
return new ArrayList<>(set);
}
private static List<String> getIntersectOfLists1(List<String> list1, List<String> list2) {
List<String> intersectElements = list1.stream().filter(list2 :: contains).collect(Collectors.toList());
if(!intersectElements.isEmpty()) {
return intersectElements;
}else {
return Collections.emptyList();
}
}
private static List<String> getIntersectOfLists2(List<String> list1, List<String> list2) {
list1.retainAll(list2);
return list1;
}
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter