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类似
·线程安全
·自动增长一倍的数组长度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值