List的徒子徒孙们
3 月,跳不动了?>>> 1. 徒子徒孙报道 从 Collection家族成员 中可以知道List的徒子徒孙们有(绿色为实现,橙色为继承): AbstractList : SubList : RandomAccessSubList AbstractSequentialList : LinkedList ArrayList Vector : Stack ArrayList LinkedList Vector : Stack 问题:从这些关系里很明显发现AbstractList已经实现了List接口,而ArrayList和Vector是继承它的,为什么ArrayList和Vector还实现List接口? 2. AbstractCollection、AbstractList两个抽象类的功能 AbstractCollection:实现了移除指定元素返回boolean值的功能(依靠迭代器实现的,但此类并未实现迭代器的功能);判断集合包含元素功能;转化成数组的功能。 AbstractList:只实现了迭代器功能,继承AbstractCollection实现的功能。 总结:(1) 这两个抽象类都未实现元素的添加操作,但却定义了各种用到add的方法,算是搭了骨架,只要后面的徒子徒孙们实现add操作,remove操作即可融汇贯通。 (2) 集合的接口和抽象类都未见存储元素的容器