首先说下集合和数组的区别
- 数组里存的不是数据,而是数据的地址
- 数组里面既可以存储基本数据类型也可以存储引用数据类型集合里面只能存引用数据类型,即只能存地址值,当存储基本数据类型时,会自动装箱,将基本数据类型装箱成引用数据类型
下面以图示表示一下集合的体系结构图
ArrayList底层数据结构是数组,线程不安全,效率高
Vector底层数据结构是数组,线程安全,效率低(vector相对ArrayList来说速度慢)
LinkedList底层数据结构是链表,线程不安全,效率高
注:查询多用ArrayList,增删多用LinkedList,如果都多用ArrayListed