Java集合-AbstractList子类

① ArrayList类

    继承AbstractList接口实现了List接口可序列化,是可扩容动态数组,其内部是基于数组实现。默认初始化容量为10,后面自动扩容是1.5倍增长。

    ArrayList可实现所有操作的列表,允许元素为空。

    ArrayList非线性安全,多个线程事例返问ArrayList事例,并且至少一个线程改变了列表的结果,需要在外部同步。

    此类iterator和listIterator方法的迭代器都有fail-fast(快速失败)机制,面对并发修改,迭代器会快速失败,抛出ConcurrentModificationException异常。

② Vector类

    与ArrayList相似实现了可扩展的对象数组,默认初始化容量为10,自动扩容是2倍增长。

    Vector是同步的。可使用多线程的情况。

    Stack是Vector的子类,实现后进先出(LIFO)的栈。尾部插入(压栈),尾部删除(弹栈)。

③ AbstractSequentialList抽象类

    仅支持链式访问,不支持随机访问的。迭代器遍历比for循环效率高。

    LinkedList 继承AbstractSequentialList类实现了List接口,允许null元素。主要用于创建链表数据结构。不支持同步,需要自己实现同步。查询效率低。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容