项目:multiway-pool
文件:EliminationStack.java
@Override
public Iterator<E> iterator() {
final class ReadOnlyIterator extends AbstractIterator<E> {
Node<E> current = top.get();
@Override
protected E computeNext() {
for (;;) {
if (current == null) {
return endOfData();
}
E e = current.get();
current = current.next;
if (e != null) {
return e;
}
}
}
};
return new ForwardingIterator<E>() {
final ReadOnlyIterator delegate = new ReadOnlyIterator();
@Override
public void remove() {
checkState(delegate.current != null);
delegate.current.lazySet(null);
}
@Override
protected Iterator<E> delegate() {
return delegate;
}
};
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。