Here you can find the source of intersect(Collection c1, Collection c2)
@SuppressWarnings({ "rawtypes", "unchecked" }) public static List intersect(Collection c1, Collection c2)
//package com.java2s; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; public class Main { @SuppressWarnings({ "rawtypes", "unchecked" }) public static List intersect(Collection c1, Collection c2) { List c1_ = new ArrayList(); List c1__ = new ArrayList(); if (isNotEmpty(c1)) { c1_.addAll(c1);/*from w w w .j a va 2 s . co m*/ c1__.addAll(c1); c1__.removeAll(c2); c1_.removeAll(c1__); } return c1_; } @SuppressWarnings("rawtypes") public static boolean isNotEmpty(Map map) { return !isEmpty(map); } @SuppressWarnings("rawtypes") public static boolean isNotEmpty(Collection collection) { return !isEmpty(collection); } public static boolean isNotEmpty(Object[] objs) { return !isEmpty(objs); } @SuppressWarnings("rawtypes") public static boolean isEmpty(Map map) { if (map == null || map.size() == 0) { return true; } return false; } @SuppressWarnings("rawtypes") public static boolean isEmpty(Collection collection) { if (collection == null || collection.size() == 0) { return true; } return false; } public static boolean isEmpty(Object[] objs) { if (objs == null || objs.length == 0) { return true; } return false; } }