array(数组)和Vector是十分相似的Java构件(constructs),两者全然不同,在选择使用时应根据各自的功能来确定。
1、数组:Java arrays的元素个数不能下标越界,从很大程度上保证了Java程序的安全性,而其他一些语言出现这一问题时常导致灾难性的后果。
Array可以存放Object和基本数据类型,但创建时必须指定数组的大小,并不能再改变。值得注意的是:当Array中的某一元素存放的是Objrct reference 时,Java不会调用默认的构造函数,而是将其初值设为null,当然这跟Java对各类型数据赋默认值的规则是一样的,对基本数据类型同样适用。
2、Vector:对比于Array,当更多的元素被加入进来以至超出其容量时,Vector的size会动态增长,而Array容量是定死的。同时,Vector在删除一些元素后,其所有下标大于被删除元素的元素都依次前移,并获得新下标比原来的小了)。注意:当调用Vector的size()方法时,返回Vector中实际元素的个数。
Vector内部实际是以Array实现的,也通过元素的整数索引来访问元素,但它只能存放java.lang.Object对象,不能用于存放基本类型数据,比如要存放一个整数10,得用new Integer(10)构造出一个Integer包装类对象再放进去。当Vector中的元素个数发生变化时, 其内部的Array必须重新分配并进行拷贝,因此这是一点值得考虑的效率问题。
Vetor同时也实现了List接口,所以也可以算作Colletion了,只是它还特殊在:Vector is synchronized。即Vetor对象自身实现了同步机制。
3、ArrayList:实现了List接口,功能与Vetor一样,只是没有同步机制,当然元素的访问方式为从List中继承而来,可存放任何类型的对象。
4、HashMap:继承了Map接口,实现用Keys来存储和访问Values,Keys和Values都可以为空,它与Hashtable类的区别在于Hashtable类的Keys不能为null,并Hashtable类有同步机制控制,而HashMap类没有。
在Struts类库中实现了一个LableValueBean,用Lable(Key)来存储和访问Value,很方便。(王朝网络 wangchao.net.cn)
分享到:
相关推荐
.net(c#)中Array和ArrayList的异同点
在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析。 一、数组Array 数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的...
使用数组列表ArrayList填充ListBox
java中数组列表ArrayList的使用.doc
java中数组列表arraylist的使用.docx
比较Vector、ArrayList和hashtable hashmap
主要介绍了Java如何把数组转换为ArrayList,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
java中数组列表ArrayList的使用[归类].pdf
比较分析Vector、ArrayList和hashtable hashmap数据结构
这个问题是”在Java中怎样把数组转换为ArrayList?” Element[] array = {new Element(1),new Element(2),new Element(3)}; 1.流行也是被多人接受的答案 普遍也是被多人接受的答案如下: ArrayList...
本篇文章是对Java中Vector与ArrayList的区别进行了详细的分析介绍,需要的朋友参考下
Java的Array和ArrayList教程by程谱CodeRecipe,适合学过Java入门教程的初学者使用,支持用来备考AP哦~.zip
C# Array和ArrayList,List区别
java 数组转list list转数组 list数组互转 java8 代码示例
该PPT详尽地描述了Java对象容器的属性以及如何使用,不用多说,Java对象容器如ArrayList,List,Set,HaspMap等都是极为重要的容器类,学好这个无疑把握了Java的灵魂所在
Java中List、ArrayList、Vector及map、HashTable、HashMap分别的区别.
主要介绍了Java Array与ArrayList区别详解的相关资料,需要的朋友可以参考下
C#中数组与arraylist C#中数组的应用与arraylist的应用 即两者间的区别
以下是对java中ArrayList与Vector的区别以及HashMap与Hashtable的区别进行了详细的解析。需要的朋友可以过来参考下