Vector和ArrayList的区别,ArrayList和LinkdeList的区别

  1. Vector和ArrayList的区别:
    相同点:都实现了List接口,都是有序的,按照下标去取数据,可以重复存放数据。
    不同点:
    (1)同步性
    Vector是线程安全的,用synchronization实现线程安全,而ArrayList是线程不安全的,但如果只有一个线程访问到集合,那最好使用的是ArrayList,因为它不考虑线程安全,效率会高些;如果有多个线程访问集合是,那最好使用Vector,因为不需要我们再去考虑编写线程安全的代码。
    (2)数据容量增长
    两者都有一个初始容量大小,采用线程连续储存空间,当存储的元素的个数超过了容器时,就需要增加二者的存储空间,Vector增长原来的一倍,ArrayList增长原来的0.5倍。

  2. ArrayList和LinkedList的区别:
    ArrayList采用的是数组形式存储对象的,这种方式是将对象放在连续的位置,查找容易,但是插入删除麻烦。
    LinkedList采用的是将对象存放再一个独立空间中,每一个空间保留一个链接的索引,插入删除容易,但是查找麻烦。

ArrayList
·实现方式:数组
·超出容器的则扩容50%
·使用sysytem、arraycopy()复制到新的数组
·默认容量为10
·Get和Set的性能高,但add、remove性能不好

LinkedList
·实现方法:双向循环链表
·无容量限制
·Get和Set的性能不好,add、remove性能好

Vector
·与ArrayList类似
·线程安全
·自动增长一倍的数组长度

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页