import java.
util.
*;
class RemoveDoubles
{
public static void main
(String[] args
) {
List<String> animals =
new ArrayList<String>
();
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 <E, T
extends List<E>> T removeDoubles
(T list
) {
Iterator<E> it = list.
iterator();
Set<E> s =
new HashSet<E>
();
while (it.
hasNext()) {
E elem = it.
next();
if (!s.
add(elem
)) {
it.
remove();
}
}
return list;
}
}