《practical java》笔记 4

                            實踐4:在arrays 和Vectors 之間慎重選擇

arrays 和 Vector 之间的对比,其实也可以理解为基本数组arrays和ArrayList之间的区别,因为ArrayList和Vector是基本一致的,除了,同步特性以外。

在Java 中,一旦你超出array 大小,運行期便會產生ArrayIndexOutOfBoundsException 異常。這和其他語言不同,其他語言的執行環境無法標示出這種錯誤,並通常因而導致災難
性的後果。

基本数组Array初始化时,会自动初始化其包含的元素的指,基本类型初始化成对应的初始值,对象初始化成null。

Vector内部其实也是用 array 实现的。可以说是对array功能上的一个封装,封装后,增加或者移除元素后,Vector会自动移动array改动点后面的元素,以增长或者压缩数组。这种功能其实平时是很常用的,即使java没有提供这个类,也有必要自己封装一个这样的类的。还有一点需要注意,Vector的每个元素都必须是对象的引用,不能是基本类型,否则会报Incompatible type for method.的错误。

array和Vector的比較:
           支持基本型別  支持對象  自動改變大小  速度快
array           Yes          Yes         No        Yes
Vector          No           Yes         Yes       No

                                

查看回复