ArrayList、Vector和LinkedList三个容器对象之间有什么相同和不同之处呢?
下文笔者讲述Arraylist和Vector,LinkedList三个集合容器之间的相同和不同之处,如下所示:
相同之处
ArrayList、Vector和LinkedList都是大小可变的数组 三者都可动态扩容 它们会在内存中开辟一块连续的空间来存储,支持下标、索引访问。但在涉及插入元素时可能需要移动容器中的元素,插入效率较低。当存储元素超过容器的初始化容量大小,ArrayList与Vector均会进行扩容。
不同之处
区别一:底层存储方式 ArrayList和Vector都是基于存储元素的Object[] array来实现的 支持下标,索引访问 LinkedList采用双向链表的方式进行存储和链接,数据存储时,无需数据移动,插入效率非常高 区别二:线程安全不同 Vector是线程安全的,对象中大部分方法都是同步方法 ArrayList及LinkedList不是线程安全
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。