java中简要说明vector和数组的区别?

简要说明vector和数组的区别?

1、数组:java arrays的元素个数不能下标越界,从很大程度上保证了java程序的安全性,但创建时必须指定数组的大小,并不能再改变。
2、vector:对比于array,当更多的元素被加入进来以至超出其容量时,vector的size会动态增长,而array容量是定死的。同时,vector在删除一些元素后,其所有下标大于被删除元素的元素都依次前移,并获得新下标比原来的小了)。

[b]原文地址:[/b][url]http://blog.csdn.net/yuliming5219/article/details/5655594[/url]

其实最大区别就是:一个可变,一个不可变。

  1. 数组, 固定大小, 裸操作, 线程操作不安全.

  2. Vector, 可以理解为数组进行了封装, 大小可以动态变化(其实也是增大空间, 之后copy的方式实现), 同时对这个数组的操作是线程安全的.

数组,固定大小,且创建时就需指定,可放Object和基本数据类型
Vector 元素增加时,size可变大,而且元素可删除,只能存放Object

vector是通过封装数组实现的,大小动态的,同时线程安全的。