Java Collection Intersect intersect(Collection collection1, Collection collection2)

Here you can find the source of intersect(Collection collection1, Collection collection2)

Description

Given two collections of elements of type , return a collection with the items which only appear in both lists

License

Open Source License

Parameter

Parameter Description
T Type
collection1 Collection #1
collection2 Collection #2

Return

Collection with items common to both lists

Declaration

public static <T> Collection<T> intersect(Collection<T> collection1, Collection<T> collection2) 

Method Source Code

//package com.java2s;
/**//w  w w  .  j  av a2s .  com
 * Aptana Studio
 * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
 * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions).
 * Please see the license.html included with this distribution for details.
 * Any modifications to this file must keep this entire header intact.
 */

import java.util.Collection;
import java.util.Collections;

import java.util.HashSet;

import java.util.Map;
import java.util.Set;

public class Main {
    /**
     * Given two collections of elements of type <T>, return a collection with the items which only appear in both lists
     * 
     * @param <T>
     *            Type
     * @param collection1
     *            Collection #1
     * @param collection2
     *            Collection #2
     * @return Collection with items common to both lists
     */
    public static <T> Collection<T> intersect(Collection<T> collection1, Collection<T> collection2) {
        if (isEmpty(collection1) || isEmpty(collection2)) {
            return Collections.emptyList();
        }

        Set<T> intersection = new HashSet<T>(collection1);

        intersection.retainAll(collection2);

        return intersection;
    }

    /**
     * This is a convenience method that returns true if the specified collection is null or empty
     * 
     * @param <T>
     *            Any type of object
     * @param collection
     * @return
     */
    public static <T> boolean isEmpty(Collection<T> collection) {
        return collection == null || collection.isEmpty();
    }

    /**
     * This is a convenience method that returns true if the specified map is null or empty
     * 
     * @param <T>
     *            any type of key
     * @param <U>
     *            any type of value
     * @param map
     * @return
     */
    public static <T, U> boolean isEmpty(Map<T, U> map) {
        return map == null || map.isEmpty();
    }
}

Related

  1. intersect(Collection c1, Collection c2)
  2. intersect(Collection collection, Collection otherCollection)
  3. intersect(Collection... collections)
  4. intersect(Collection a, Collection b)
  5. intersect(Collection collA, Collection collB, Collection target)
  6. intersect(Collection t1, Collection t2)
  7. intersectCollections(Collection collection1, Collection collection2)
  8. intersectingCollections(Collection collection1, Collection collection2)
  9. intersectInto(C into, Collection... from)