1.ArrayList
底层是一个数组,数组查询快,增删慢。
查询时地址连续,有索引,因此查询快。
增删时,由于数组长度不可变,每次都要新建一个数组,并将原数组的数据复制,因此,增删慢。
ArrayList是非同步的,因此执行效率高,但在高并发时容易引起线程安全问题。
2.LinkedList
linkedList底层是双向链表链表,因此查询慢,增删快。
链表地址不连续,每次查询都要从头开始,因此慢
但在增删时,不改变原来的结构,因此块。
双向链表是有序的(存储和取出的顺序是一致的),单向链表是无序的。因为双向链表的一条链是用来记录顺序的。
3.vector
底层和ArrayList一样,但他是同步的。