常用的List结构集合类有:ArrayList、LinkedList、Vector、Stack
它们的相同点:
1:增加数据时用add方法
2:删除数据时用remove方法
3:查找某个数据时需要对整个集合进行遍历
它们的不同点:
ArrayList\Vector和Stack使用数组实现,当数组长度不够时,其内部会创建一个更大的数组,然后将原数组中的数据拷贝至新数组中
ArrayList是异步的,对象不是线程安全的,当数组长度不够时增长原来的50%。
Vector是同步的,对象是线程安全的,当数组长度不够时增长原来的一倍。
Stack继承自Vector,只在Vector的基础上添加了几个Stack相关的方法
ArrayList是实现了基于动态数组的数据结构,对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。
LinkedList基于链表的数据结构。 对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据