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

弗兰·马佐亚(Fran Marzoa)

我正在基于AbstractSequentialList实现一个不可修改的列表。现在,根据Oracle的文档:

对于不可修改的列表,程序员只需要实现列表迭代器的hasNext,next,hasPrevious,previous和index方法。

问题是,似乎我必须提供remove,set和add方法的实现,尽管由于列表的不可修改性,根本不需要这些方法,否则编译器会抱怨,因为这些方法未实现。

那么,我是在做错什么,还是这才是真正的方法?我应该实现这些方法并在其中抛出某种异常吗?

在此先多谢

djbrown

只需使用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.");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章