9. 说出ArrayList,Vector, LinkedList的存储性能和特性

1、ArrayList的add方法,不是线程安全的,保存数据是使用数组。

2、Vector的add方法,是线程安全的,保存数据也是使用数组。

3、LinkedList的add方法,是使用线程不安全,双向链表存储数据。

4、性能:LinkedList > ArrayList > Vector
ArrayList和Vector都是使用数组方式存储数据。此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。

Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差。

而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

你可能感兴趣的:(java基础)