为什么AbstractList类实现了set()方法

时间:2016-05-11 19:45:53

标签: collections

为什么AbstractList类实现了set(int index,E element)方法?它所做的就是抛出UnsupportedOperationException。

但是,它的所有子节点(ArrayList,LinkedList,Vector)实现(覆盖)此方法并为操作提供其逻辑。如果扩展AbstractList的所有类都提供了自己的逻辑,那么为什么这个方法完全由AbstactList实现。

1 个答案:

答案 0 :(得分:1)

为实现List接口的后代类做了。

例如,由Arrays.ArrayList方法

创建的实用程序asList
List<Integer> readOnly = Arrays.asList(1, 2, 3);

不允许修改列表,因此它的set(int index, E element)方法会抛出UnsupportedOperationException。此默认行为在AbstractList类中实现。