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 difference between two sets.
*
* @author Justin Musgrove
* @see <a href='http://www.leveluplunch.com/java/examples/difference-of-two-sets/'>Difference of two sets</a>
*/
public class DifferenceOfTwoSets {
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 difference_of_sets_java () {
Set<String> possibleFriendRequests = new HashSet<String>(yourFriends);
possibleFriendRequests.removeAll(myFriends);
assertEquals(6, possibleFriendRequests.size());
}
@Test
public void difference_of_sets_guava () {
Set<String> possibleFriendRequests = Sets.difference(yourFriends, myFriends);
assertEquals(6, possibleFriendRequests.size());
}
@Test
public void difference_of_sets_apache () {
@SuppressWarnings("rawtypes")
Collection possibleFriendRequests = CollectionUtils.subtract(yourFriends, myFriends);
assertEquals(6, possibleFriendRequests.size());
}
}