package com.levelup.java.collections; import static org.junit.Assert.assertEquals; import java.util.Collection; import java.util.HashSet; import java.util.Set; import org.apache.commons.collections.CollectionUtils; import org.junit.Test; import com.google.common.collect.Sets; /** * This java example will demonstrate finding * the intersection of two sets. * * @author Justin Musgrove * @see <a href='http://www.leveluplunch.com/java/examples/intersection-of-two-sets/'>Intersection of two sets</a> */ public class IntersectionOfTwoSets { Set<String> yourFriends = Sets.newHashSet( "Desiree Jagger", "Benedict Casteel", "Evon Saddler", "Toby Greenland", "Norine Caruana", "Felecia Houghton", "Lanelle Franzoni", "Armandina Everitt", "Inger Honea", "Autumn Hendriks"); Set<String> myFriends = Sets.newHashSet( "Karrie Rutan", "Desiree Jagger", "Armandina Everitt", "Arlen Nowacki", "Ward Siciliano", "Mira Yonts", "Marcelo Arab", "Autumn Hendriks", "Mazie Hemstreet", "Toby Greenland"); @Test public void intersection_of_sets_java () { Set<String> mutalFriends = new HashSet<String>(yourFriends); mutalFriends.retainAll(myFriends); assertEquals(4, mutalFriends.size()); } @Test public void intersection_of_sets_guava () { Set<String> mutalFriends = Sets.intersection(yourFriends, myFriends); assertEquals(4, mutalFriends.size()); } @Test public void intersection_of_sets_apache_commons () { @SuppressWarnings("rawtypes") Collection mutalFriends = CollectionUtils.intersection(yourFriends, myFriends); assertEquals(4, mutalFriends.size()); } }