ArrayCollection与FLEX中的Vector对象

时间:2010-04-20 02:06:16

标签: flex

有人能告诉我在flex中的ArrayCollection和Vector之间的适用差异吗?我不确定我是否应该使用一个而不是另一个。我看到Vector是类型安全的,这让我感觉更好,但有缺点吗?

public var ac:ArrayCollection = new ArrayCollection();

public var vec:Vector.<String> = new Vector.<String>();

感谢。

4 个答案:

答案 0 :(得分:6)

此外,Vector比Array快约3倍,比ArrayCollection快约18倍。

经验法则是

  • 如果您不需要数据绑定/事件通知,请使用Array

  • 如果数组中的所有元素属于同一类型(并且您想要强类型),请使用Vector。

答案 1 :(得分:5)

我正在寻找一种从矢量转换为arraycollection的方法,所以我可以将它用作数据提供者,我发现了这个:

http://www.bealearts.co.uk/blog/2010/10/10/vectorcollection-class-to-allow-binding-to-an-as3-vector/comment-page-1/#comment-9486

David Beale在vector类上创建了一个包装器,它为我提供了所需的所有功能。此刻他没有创建性能基准,但我仍然认为比arrayCollection更快。

答案 2 :(得分:4)

Vector不支持数据绑定。这是通常会影响Flex开发人员的主要区别。

答案 3 :(得分:1)

Vector仅适用于Flash Player 10.来自文档:“运行时版本:Flash Player 10,AIR 1.5,Flash Lite 4”。