Apache flex Flex中数组和数组集合的区别

Apache flex Flex中数组和数组集合的区别,apache-flex,actionscript-3,actionscript,flex3,Apache Flex,Actionscript 3,Actionscript,Flex3,在选择b/n数组和Arraycollection时,我感到困惑,为什么我要使用一个,为什么不使用另一个。 我已经在langref中阅读了该理论,但除此之外,您还从经验中了解到了一种理论相对于另一种理论的一些普遍优势/劣势 提前感谢。ArrayCollection是数组上的包装器。它提供排序和筛选功能,可用于显示目的,而不影响基础数据 通过使用collection类,还可以轻松地在数据格式之间切换,例如切换到XMLListCollection,而无需重新编写所有排序和筛选代码。[至少在理论上如此]

在选择b/n数组和Arraycollection时,我感到困惑,为什么我要使用一个,为什么不使用另一个。 我已经在langref中阅读了该理论,但除此之外,您还从经验中了解到了一种理论相对于另一种理论的一些普遍优势/劣势


提前感谢。

ArrayCollection是数组上的包装器。它提供排序和筛选功能,可用于显示目的,而不影响基础数据


通过使用collection类,还可以轻松地在数据格式之间切换,例如切换到XMLListCollection,而无需重新编写所有排序和筛选代码。[至少在理论上如此]

根据我的经验,ArrayCollection更易于使用,尤其是在修改阵列时,但这会以牺牲性能和开销为代价。如果性能是一个问题,我会考虑使用和数组。


最终,ArrayCollection是有帮助的,但即使是对列表进行迭代这样的简单操作,速度也非常慢。如果正在使用视图,请使用ArrayCollection。但要在应用程序中传递数据,请坚持使用数组。

作为简化的经验法则,在Flex 3中,对于只读数据提供程序使用数组,对于可以在运行时修改的数据提供程序使用ArrayCollection

在Flex 4中,Spark数据组件(如List或DataGroup)希望数据提供程序被类型化为IList,因此在任何情况下,数据提供程序都不再使用数组类型的集合。