Flex中的Array与ArrayCollection的区别

7

有人能解释一下Flex中Array和ArrayCollection之间的区别吗?


将以下与编程有关的内容从英语翻译成中文。仅返回翻译后的文本:几天前已回答了重复的问题:https://dev59.com/f0zSa4cB1Zd3GeqPjyAA#2308830 - Theo.T
2个回答

7
根据liveDocs文档,
ArrayCollection类是一个包装器类,将数组作为集合公开,可以使用ICollectionView或IList接口的方法和属性访问和操作它。对ArrayCollection实例的操作会修改数据源;例如,如果您在ArrayCollection上使用removeItemAt()方法,则会从底层数组中删除该项。
因此,它们实际上是相同的,但其中一个具有更多属性和方法。

3
我赞同你的答案,但从技术上讲,它们并不完全相同,暗示一个是另一个的超集有点误导人。ArrayCollection 的属性之一(source)就是 Array 本身,而像 push() 这样作用于 Array 的方法在 ArrayCollection 上不起作用,等等。 - Robusto
5
两者之间的一个重要区别是,事件和数据绑定可以使用ArrayCollection正常运作,但可能无法与Array完全兼容。 - WayneH
这两点都很重要,知道 ArrayCollection 的源是一个 Array 是非常关键的知识。虽然你没有 push 方法,但是你有 addItem 方法,它们相似甚至可能更好用。 - invertedSpear

1

ArrayCollection类是一个包装器类,它将Array公开为一种集合,可以使用ICollectionView或IList接口的方法和属性来访问和操作。

Array类允许您访问和操作数组。数组索引是从零开始的,这意味着数组中的第一个元素是[0],第二个元素是[1],依此类推。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接