zoukankan      html  css  js  c++  java
  • ArrayList VS Vector

    这种问题先看图
      
     
    共同点:
    1. 存储在这两个集合中的元素的位置是有序的,相当于一种动态的数组,可以按位置取出某个元素
    2. 实现了List接口
    3. 集合中的元素允许重复
    4. 可以设置初始的空间大小
    区别:
    1. 线程安全
    2. 数据增长
    如果只有一个线程会访问到集合,那最好是使用ArrayList,因为它不考虑线程安全,效率会高些
    如果有多个线程会访问到集合,那最好是使用Vector,因为不需要我们自己再去考虑和编写线程安全的代码
     
    (备注:对于Vector&ArrayList、Hashtable&HashMap,要记住线程安全问题,记住Vector与Hashtable是旧的,是java一诞生就提供的,它们是线程安全的,ArrayList与HashMap是java2时才提供的,它们是线程不安全的。所以,我们讲课时先讲老的。)
     
    Vector默认增长为原来两倍,还可以设置增长的空间大小
    ArrayList是增长为原来的1.5倍,并且没有提供设置增长空间的方法
     
    也就是说:
    vector,线程安全,无忧无虑,大手大脚,自由自在。
    arraylist,效率第一,小心翼翼,步步为营,安分守己。
    莫问前程
  • 相关阅读:
    1001. 害死人不偿命的(3n+1)猜想 (15)
    单链表排序
    简单插入排序
    简单选择排序
    C语言-随机数
    二分查找(折半查找)
    顺序查找-顺序查找-带哨兵查找
    队列-链表实现
    循环队列_数组实现
    队列-顺序存储-简单实现
  • 原文地址:https://www.cnblogs.com/dolphin007/p/4452294.html
Copyright © 2011-2022 走看看