001    package nl.tudelft.tbm.eeni.owlstructure.utils;
002    
003    import java.util.ArrayList;
004    import java.util.Collection;
005    
006    public class CollectionUtils {
007        /**
008         * Returns all items that are both in collection1 and in collection2
009         */
010        public static <T> Collection<T> intersectCollections(Collection<? extends T> collection1, Collection<? extends T> collection2) {
011            Collection<T> result = new ArrayList<T>(collection1);
012            result.retainAll(collection2);
013            return result;
014        }
015    
016        /**
017         * Returns all items in collection1 that are not in collection2
018         */
019        public static <T> Collection<T> subtractCollections(Collection<? extends T> collection1, Collection<? extends T> collection2) {
020            Collection<T> result = new ArrayList<T>(collection1);
021            result.removeAll(collection2);
022            return result;
023        }
024    }