Vector 比数组更严格,内部的元素数据类型都一致。
Vector内部访问会经过类型检查。
所以比Array性能更快。
注意:Vector.<T>的值必须是连续的,就是说Vector不可以跨越赋值,例如:
_vector[0] = xxx;
_vector[2] = xxx;
是不允许的,必须在两句之间插入_vector[1] = null;
Vector.<T>可以固定长度。
只要将fixed属性设为true即可。fixed后任何对超出length的赋值或者更改length的行为都会引发错误。
Vector是密集型的数组,每一个索引必须有值(可以为null)
由于这些特殊性,Vector便拥有以下几点优势:
- 性能:使用 Vector 实例时的组元素的访问和迭代速度比使用 Array 时的要快很多。
- 类型安全性:在严格模式下,编译器可以识别数据类型错误。
(但当使用push()
方法或unshift()
方法向 Vector 添加值时,编译器不会检查参数的数据类型,而是在运行时检查)- 可靠性:相对于 Array,运行时范围检查(或定长检查)极大地提高了可靠性。
对于追求效率的RIA应用,使用Vector来提升效率是一种简单却行之有效的办法,
1:Vector的长度应当固定。虽然默认是不固定的,可以改变长度。
2:Vector存储基元数据类型,才能充分体现其优势
使用Vector非常的简单,和使用数组非常相似。事实上,Vector类包含了数组里所有的方法。主要的不同之处在于你怎样去实例化它。
参数(长度,长度固定:Boolean=false )
谨记,一旦fixed属性被设置为true,你就不能用Vector的其他方法来改变它的长度,比如pop(), push(), shift()等等。
- //var VARIABLENAME:Vector.<vectortype> = new Vector.<vectortype>(size,fixed);
- var vector:Vector.<int> = new Vector.<int>();
指定长度
- var size:int = 7;
- var vector:Vector.<int> = new Vector.<int>(size);