Java tutorial
//package com.java2s; //License from project: Open Source License import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Main { /** * Return a new Set with elements that are in the first and second passed collection. * If one set is null, an empty Set will be returned. * @param <T> Type of set * @param first First set * @param second Second set * * @return a new set (depending on input type) with elements in first and second */ static <T> Set<T> intersection(Set<T> first, Set<T> second) { Set<T> result = new HashSet<T>(); if ((first != null) && (second != null)) { result.addAll(first); // result.retainAll(second); Iterator<T> iter = result.iterator(); boolean found; while (iter.hasNext()) { T item = iter.next(); found = false; for (T s : second) { if (s.equals(item)) found = true; } if (!found) iter.remove(); } } return result; } }