繁体   English   中英

为不可修改的列表实现迭代器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM