import java.util.*; class RemoveDoubles { public static void main(String[] args) { List animals = new ArrayList(); animals.add("Horse"); animals.add("Crocodile"); animals.add("Cat"); animals.add("Hamster"); animals.add("Cat"); animals.add("Cat"); animals.add("Crocodile"); animals.add("Mouse"); animals.add("Elk"); System.out.println(animals); removeDoubles(animals); System.out.println(animals); } public static > T removeDoubles(T list) { Iterator it = list.iterator(); Set s = new HashSet(); while (it.hasNext()) { E elem = it.next(); if (!s.add(elem)) { it.remove(); } } return list; } }