ArrayList,LinkedList是不一样步的,而Vector是同步的,Vector适合线程使用,数组
ArrayList和Vector都是使用Objec的数组形式来存储的,当元素数目超出其长度时,Vector缺省状况下自动增加原来一倍的数组长度,ArrayList是原来的50%,数据结构
ArrayList和LinkedList的大体区别:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList以为优于LinkedList,由于LinkedList要移动指针。
3.对于新增和删除操做add和remove,LinedList比较占优点,由于ArrayList要移动数据。性能
ArrayList,在末尾增长或删除一条数据,所花的开销都是固定的,若在中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动,花费大,线程
LinkedList 是经过指针移动,因此在先后,中间插入删除都是同样的。但LinkedList不 支持高效的随机元素访问。指针
能够这样说:当操做是在一列 数据的后面添加数据而不是在前面或中间,而且须要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;当你的操做是在一列数据的前面或中 间添加或删除数据,而且按照顺序访问其中的元素时,就应该使用LinkedList了。
因此,若是只是查找特定位置的元素或只在集合的末端增长、移除元素,那么使用Vector或ArrayList均可以。若是是对其它指定位置的插入、删除操做,最好选择LinkedList rem