[英]Implementing an iterator for an unmodifiable list
我正在实现一个基于AbstractSequentialList的不可修改的列表。 现在,根据Oracle的文档:
对于不可修改的列表,程序员只需要实现列表迭代器的hasNext,next,hasPrevious,previous和index方法。
问题是我似乎必须提供删除,设置和添加方法的实现,尽管由于列表的不可修改性质,根本不需要这些实现,否则编译器会抱怨因为这些方法没有实现。
那么,我做错了什么,或者这是真正的方法吗? 我应该实现这样的方法并在其中抛出某种异常吗?
非常感谢提前,
只需对您不需要实现的方法抛出UnsupportedOperationException
。 由Iterator
/ ListIterator
接口文档https://docs.oracle.com/javase/7/docs/api/java/util/ListIterator.html#remove()指定
抛出:UnsupportedOperationException - 如果此列表迭代器不支持remove操作
例如
@Override
public void remove() {
throw new UnsupportedOperationException("Not supported yet.");
}
http://docs.oracle.com/javase/6/docs/api/java/lang/UnsupportedOperationException.html
抛出以指示不支持所请求的操作。
例如
@Override
public void remove() {
throw new UnsupportedOperationException("Cannot remove from unmodifiableList");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.