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,效率第一,小心翼翼,步步为营,安分守己。
    莫问前程
  • 相关阅读:
    poj3278 Catch That Cow
    poj2251 Dungeon Master
    poj1321 棋盘问题
    poj3083 Children of the Candy Cor
    jvm基础知识—垃圾回收机制
    jvm基础知识1
    java面试基础必备
    java soket通信总结 bio nio aio的区别和总结
    java scoket aIO 通信
    java scoket Blocking 阻塞IO socket通信四
  • 原文地址:https://www.cnblogs.com/dolphin007/p/4452294.html
Copyright © 2011-2022 走看看