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