From 5e02becb5e0f7a7f3e82e431c7ce9346226e850a Mon Sep 17 00:00:00 2001 From: cror <37755757+cror@users.noreply.github.com> Date: Sat, 22 Dec 2018 03:21:08 +0100 Subject: [PATCH] BAEL-2445: adding example for the intersection of two lists (#5968) --- .../baeldung/java/lists/ListJUnitTest.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/core-java-collections/src/test/java/org/baeldung/java/lists/ListJUnitTest.java b/core-java-collections/src/test/java/org/baeldung/java/lists/ListJUnitTest.java index 7dddf6c2ce..f9c9d3fda8 100644 --- a/core-java-collections/src/test/java/org/baeldung/java/lists/ListJUnitTest.java +++ b/core-java-collections/src/test/java/org/baeldung/java/lists/ListJUnitTest.java @@ -5,6 +5,10 @@ import org.junit.Test; import java.util.Arrays; import java.util.List; +import java.util.Set; +import java.util.HashSet; + +import java.util.stream.Collectors; public class ListJUnitTest { @@ -18,4 +22,26 @@ public class ListJUnitTest { Assert.assertNotSame(list1, list2); Assert.assertNotEquals(list1, list3); } + + @Test + public void whenIntersection_ShouldReturnCommonElements() throws Exception { + List list = Arrays.asList("red", "blue", "blue", "green", "red"); + List otherList = Arrays.asList("red", "green", "green", "yellow"); + + Set commonElements = new HashSet(Arrays.asList("red", "green")); + + Set result = list.stream() + .distinct() + .filter(otherList::contains) + .collect(Collectors.toSet()); + + Assert.assertEquals(commonElements, result); + + Set inverseResult = otherList.stream() + .distinct() + .filter(list::contains) + .collect(Collectors.toSet()); + + Assert.assertEquals(commonElements, inverseResult); + } }