三个类都实现了List接口
ArrayList vs Vector
- 底层都是由数组实现。
- ArrayList是线程不安全的,Vector是线程安全的。
- ArrayList和Vector创建时都默认有一个初始大小,当容量不够时就会进行扩容,ArrayList扩大原数组的50%,Vector扩大原数组的一倍。
ArrayList vs LinkedList
- ArrayList 是由数组实现的,LinkedList是由双向链表实现的。
- ArrayList由于底层是数组,所以查询和赋值比较快;LinkedList由于底层是双向链表,所以删除元素和增加元素比较快。
- LinkedList 还实现了Queue接口。