2023年Java核心技术面试第四篇(篇篇万字精讲)

目录

八. 对比Vector,ArrayList, LinkedList有何区别?

 8.1  典型回答

8.1.1 Vector:

8.1.2 ArrayList :

8.1.3 LinkedList

8.2 考察点分析:

8.2.1 不同容器类型适合的场景


八. 对比Vector,ArrayList, LinkedList有何区别?

 8.1  典型回答

三者都是实现集合框架中的List,即有序集合,都按照位置进行定位,添加或者删除的操作,都提供迭代器进行遍历内容,由于具体的设计,在行为,性能,线程安全方面又有些不同。

8.1.1 Vector:

是Java早期提供的线程安全的动 态数组,如果不需要线程安全,不建议使用,同步需要进行额外开销,Vector内部使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并且拷贝原有的数组数据

8.1.2 ArrayList :

是应用更加广泛的动态数组实现,本身不是线程安全的,性能好很多。

ArrayList可以根据需要调整容量,vector在扩容的时候会提高一倍,ArrayList则是增加50%

8.1.3 LinkedList

Java 提供的双向链表,不需要进行上面两种进行调整容量,也不是线程安全的。

8.2 考察点分析:

8.2.1 不同容器类型适合的场景

你可能感兴趣的:(面试,职场和发展)