Hello,大家好呀~我是爱分享技术的小米,今天又来给大家带干货啦!
说起 Java 面试题,有些问题可谓是经典中的经典,比如“ArrayList 和 Vector 的区别是什么”。这题看似简单,但背后藏着不少细节和知识点。如果答得好,不仅能展示你的基础扎实,还能让面试官眼前一亮哦!
接下来,让我们以一个故事为引子,来剖析这个问题的核心吧~
故事的开始:两个容器的选择
小张是一位正在准备社招的 Java 程序员。一天,他的朋友小李问他:
“你平时开发中,用过 ArrayList 和 Vector 吗?”
小张挠了挠头:“用是用过,但我一般用 ArrayList,Vector 好像都不太碰。它们有啥区别吗?”
小李微微一笑:“嘿嘿,这可是面试中的高频问题!来,我给你理一下~”
第一部分:定义与背景
小李掏出笔记本开始讲解:
1、ArrayList 和 Vector 是什么?
- ArrayList 是 Java 集合框架中的一个类,位于 java.util 包中,是一个实现了可变大小数组的列表。它是非线程安全的,性能优于 Vector。
- Vector 同样是一个可变大小的数组列表,最早引入于 JDK 1.0。它是线程安全的,因为它的方法大多被 synchronized 修饰。
2、历史沿革