2010-02-24 19 views
7

¿Puede alguien explicar la diferencia entre la matriz y ArrayCollection en Flex?Array Vs ArrayCollection en Flex

+0

duplicado: P respondió hace unos días: http://stackoverflow.com/questions/2308730/difference-between-array-and-arraycollectionflex/2308830#2308830 –

Respuesta

7

Según las LiveDocs

La clase ArrayCollection es una clase contenedora que expone una matriz como una colección que se puede acceder y manipulado utilizando los métodos y propiedades de la ICollectionView o interfaces de IList . Las operaciones en una instancia de ArrayCollection modifican la fuente de datos ; por ejemplo, si utiliza el método removeItemAt() en un ArrayCollection, elimina el elemento de la matriz subyacente.

Así que realmente son iguales, pero uno tiene más propiedades y métodos.

+3

I upvoted su respuesta, pero técnicamente no estás precisamente lo mismo, y es un poco confuso implicar que uno es solo un superconjunto del otro. Una de las propiedades de ArrayCollection (fuente) es la matriz misma, y ​​los métodos como push() que funcionan en matrices no funcionarán en ArrayCollections, etc. – Robusto

+5

Una de las grandes diferencias entre los dos es que los eventos y el enlace de datos funcionan con ArrayCollection, pero podría no funcionar correctamente con Array. – WayneH

+0

Ambos puntos buenos, y saber que el origen de una colección de matrices es una matriz, es un conocimiento bastante vital. Seguro que no tienes push, pero tienes métodos addItem que son similares e incluso pueden ser mejores. – invertedSpear

1

La clase ArrayCollection es una clase contenedora que expone una matriz como una colección a la que se puede acceder y manipular utilizando los métodos y propiedades de las interfaces ICollectionView o IList.

La clase Array le permite acceder y manipular matrices. Los índices de matriz están basados ​​en cero, lo que significa que el primer elemento de la matriz es [0], el segundo elemento es [1], y así sucesivamente.

Cuestiones relacionadas