zoukankan      html  css  js  c++  java
  • 一分钟了解ArrayList和Vector的区别

    一、是否是线程安全的

    Vector是同步的, 而ArrayList不是.
    因为Vector是同步的, 所以它是线程安全的.
    同样, 因为Vecotr是同步的, 所以他需要额外的开销来维持同步锁, 所以它要比ArrayList要慢.但仅仅是理论上说,具体测试结果二者差别十分不明显

    二、动态增加元素的过程

    Vector允许用户设置capacityIncrement这样在每次需要扩充数组的size的时候, Vector会尝试按照预先设置的capacityIncrement作为增量来设置, 而ArrayList则会把数组的大小扩大一倍.

    比如现在同样一个长度为10的Vector和ArrayList, 我们把Vector的capacityIncrement设为1
    那么我们在插入第11个对象的时候, Vector会将长度变成11, 然后分配空间, 然后将对象添加进去, 而ArrayList则会分配20个对象的空间, 然后将对象添加进去.
    如果capacityIncrement设为0或者负值, Vector就会做和ArrayList一样, 每次都将数组大小扩大一倍.

    参考自:

    http://blog.csdn.net/fzh0803/article/details/6312005

  • 相关阅读:
    java基础--日期--练习集锦
    java基础-数字与字符串-练习集锦
    java-多态-之疑惑
    java-接口与多态-
    java基础 -继承-练习集锦
    java基础-对象-练习集锦
    java基础--数组--练习集锦
    hibernate第二天
    jquery的一些笔记
    struts入门2
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4269205.html
Copyright © 2011-2022 走看看