1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
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;
}
}
|