Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为不可修改列表实现迭代器_Java_List_Iterator - Fatal编程技术网

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

Java 为不可修改列表实现迭代器,java,list,iterator,Java,List,Iterator,我正在基于AbstractSequentialList实现一个不可修改的列表。现在,根据Oracle的文档: 对于不可修改的列表,程序员只需实现该列表 迭代器的hasNext、next、hasPrevious、previous和index方法 问题是,似乎我必须为remove、set和add方法提供一个实现,尽管由于列表的不可修改性,这些方法根本不需要,否则编译器会抱怨,因为这些方法没有实现 那么,我是做错了什么,还是这才是真正的出路?我应该实现这样的方法并在其中抛出某种异常吗 提前非常感谢,

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

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

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

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

提前非常感谢,

抛出以指示不支持请求的操作

e、 g


只需在不需要实现的方法上抛出一个
UnsupportedOperationException
。如
迭代器
/
列表迭代器
接口文档所述

抛出:UnsupportedOperationException-如果未执行删除操作 此列表迭代器支持

e、 g

@Override
public void remove() {
    throw new UnsupportedOperationException("Cannot remove from unmodifiableList");
}
@Override
public void remove() {
    throw new UnsupportedOperationException("Not supported yet.");
}