Java 如何使用自定义方法创建自定义arraylist
我在一次采访中被问到这个问题 除了Java 如何使用自定义方法创建自定义arraylist,java,oop,arraylist,Java,Oop,Arraylist,我在一次采访中被问到这个问题 除了remove,removeAll()方法之外,如何使用ArrayList中实现的所有方法创建自定义ArrayList 因此,我的ArrayList实现不能有这两种方法 我得到的一个解决方案是将类扩展到ArrayList类,并实现除remove()和removeAll()方法之外的所有方法 我不确定这是否正确。搜索可扩展数组(数据结构)。你将得到完整的细节和如何做到这一点 您可以扩展ArrayList并覆盖指定的方法,如不支持的方法。他们只会扔东西,而不会扔其他东
remove
,removeAll()
方法之外,如何使用ArrayList
中实现的所有方法创建自定义ArrayList
因此,我的ArrayList
实现不能有这两种方法
我得到的一个解决方案是将类扩展到ArrayList
类,并实现除remove()
和removeAll()方法之外的所有方法
我不确定这是否正确。搜索可扩展数组(数据结构)。你将得到完整的细节和如何做到这一点 您可以扩展ArrayList
并覆盖指定的方法,如不支持的方法。他们只会扔东西,而不会扔其他东西
类NoRemoveArrayList扩展了ArrayList{
@凌驾
公共对象删除(int i){
抛出新的UnsupportedOperationException();
}
@凌驾
公共布尔删除(对象o){
抛出新的UnsupportedOperationException();
}
@凌驾
公共布尔removeAll(集合){
抛出新的UnsupportedOperationException();
}
}
为了澄清,我假设您的解决方案是创建一个类(例如,MyCustomArrayList
),该类扩展ArrayList
,然后覆盖remove()
和removeAll()
方法。(如果该假设不准确,请纠正我)。如果是这样,这似乎是一个很好的解决方案。您是否正在寻找其他解决方案?这是我所想的解决方案,但面试官特别希望我的自定义ArrayList不包含这些方法。是否允许您修改ArrayList
类?是否需要专门为ArrayList
类划分子类?如果您的类型是List
或ArrayList
,然后,您将拥有remove
和removeAll
方法使用这些方法时,必须完全不存在,并且不能在调用时简单地抛出一些异常。唯一的方法是创建自己的ArrayList
,它不实现List
(或Collection
)。