Collections.unmodifiableIterable()が欲しい。
何で無いのかな〜。既存のIterableを変更不可のIterableにwrapする。こんな感じか。
public final class UnmodifiableIterable<E> implements Iterable<E> {
Iterable<? extends E> itr;
public UnmodifiableIterable(Iterable<? extends E> itr) {
if (itr == null) throw new NullPointerException();
this.itr = itr;
}
public Iterator<E> iterator() {
return new Iterator<E>() {
Iterator<? extends E> z = itr.iterator();
public boolean hasNext() {
return z.hasNext();
}
public E next() {
return z.next();
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
}





