package test0029; | |
import java.util.Iterator; | |
interface Predicate<T> { | |
boolean is(T t); | |
} | |
interface List<T> { | |
List<T> select(Predicate<T> p); | |
} | |
class X<T> implements List<T>, Iterable<T> { | |
public List<T> select(Predicate<T> p) { | |
X<T> result = new X<T>(); | |
for (T t : this) { | |
if (p.is(t)) | |
result.add(t); | |
} | |
return result; | |
} | |
public Iterator<T> iterator() { | |
return null; | |
} | |
void add(T t) { | |
} | |
} |