矢量<。> vs阵列

时间:2009-07-15 09:20:52

标签: arrays actionscript vector flashplayer-10

使用Vector.<>代替array有哪些优缺点?

5 个答案:

答案 0 :(得分:19)

来自adobe documentation page

由于它的限制,Vector比Array实例有两个主要优点,它的元素都是单个类的实例:

  • 性能:使用Vector实例时,数组元素访问和迭代要比使用数组时快得多。
  • 类型安全性:在严格模式下,编译器可以识别数据类型错误,例如将不正确数据类型的值分配给Vector,或者在从Vector中读取值时期望错误的数据类型。但请注意, 当使用push()方法或unshift()方法向Vector添加值时,在编译时不会检查参数的数据类型,而是在运行时检查它们。

答案 1 :(得分:2)

Pro:Vector比Array快 - 例如看到这个:Faster JPEG Encoding with Flash Player 10

Contra:Vector需要FP10,根据http://riastats.com/,大约20%的用户仍在使用FP9

答案 2 :(得分:2)

矢量更快。虽然是顺序迭代the fastest thing seems to be linked-lists

向量也可用于位图操作(查看BitmapData.setVector,也可以使用BitmapData.lock并解锁)。

答案 3 :(得分:1)

前面评论中提到的链表示例虽然它跳过了奇数节点,却写得不正确,因为它只迭代了相同数据的一半。难怪他得到如此好的结果,也可能更快,正确的代码,但不是相同的%差异。循环设置current = current.next一次太多(在循环和循环条件中)每次迭代都会导致该行为。

答案 4 :(得分:0)

根据Flash播放器渗透网站,它有点高。大约85%

This is the source