blob: 96d4e6e1063bc0a3dd162fb63617b9b4e2d343cf [file] [log] [blame]
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ForEach {
void m1() {
Set<? extends CharSequence> s = new HashSet<CharSequence>();
for (CharSequence cs : s) {
cs.toString();
}
}
void m2() {
Set<CharSequence> s = new HashSet<>();
for (CharSequence cs : s) {
cs.toString();
}
}
<T extends Object> void m3(T p) {
Set<T> s = new HashSet<>();
for (T cs : s) {
cs.toString();
}
}
<T extends Object> void m4(T p) {
Set<T> s = new HashSet<>();
for (Object cs : s) {
cs.toString();
}
}
public static <T extends Object> List<T> removeDuplicates(List<T> l) {
// There are shorter solutions that do not maintain order.
HashSet<T> hs = new HashSet<>(l.size());
List<T> result = new ArrayList<>();
for (T t : l) {
if (hs.add(t)) {
result.add(t);
}
}
return result;
}
}