List集合

List集合

Collection:*接口,不可以被直接new出来,只能new出其中的一个实现类。有两个子接口都继承它(有序:List,无序:Set)

List:有序(下标是有序的),有下标。可重复(同一个元素再集合中可以占有多个位置),其下有三个实现类:ArrayLst,LinkedList,Vector。

ArrayList:ArrayList是基于“数组实现”的List类,默认容量为10。扩容:原有的容量+容量的一半。使用场景:查询。当从 ArrayList 的中间位置插入或者删除元素时,需要对数组进行复制、移动代价比较高。并且ArrayList是线程不安全,但可以手动将ArrayList线程变成安全的,方法如下:

一:使用synchronized关键字

二:使用Collections.synchronizedList();

LinkedList:LinkedList内部以链表的形式来保存集合中的元素,查询的性能较差,但是增、删、改元素时,效率快。可作为队列和栈使用。线程不安全

Vector:特点跟ArrayList基本一样,除Vector线程要比ArrayList线程更安全,因为(Vector内部方法都是通过 synchronized 关键字同步的)。

上一篇:ArrayList和LinkedList的区别


下一篇:ArrayList 和 LinkedList 有什么区别