1.接口类(Interface):
IList:按顺序组织的项目(item)的集合,提供基于索引(index)的访问和处理方法,例如addItem(item:Object):void和addItemAt(item:Object, index:int):void等。它不同排序、筛选、光标(cursor)功能。IList的方法会直接影响原始数据的值。IList可以是从服务器返回的数据视图,当对远程的集合写入时,需要处理恕不不可用的情况,ItemPendingError会被检测到。
ICollectionView:是数据集合的视图,提供排序、筛选、光标(Cursor)功能。既然是视图,操作不会直接影响原始数据的值,排序不会影响原始数据的顺序,而筛选也不会删除原始数据。
IViewCursor:这个接口完整的指针功能,双向枚举一个实现了ICollectionView接口的对象。可以对数据查找find和seek操作,可以利用书签保存当前的操作位置。同时也可以使用insert、remove等方法来修改原始数据。另外书签等功能需要ICollectionView的createCursor来创建一个IViewCursor实例来实现。
2.实现类(集合类):
ArrayCollection:将Array公开为集合Collection的封装类。(ArrayCollection继承了ListCollectionView,ListCollectionView实现了ICollectionView、IList接口)可以使用ICollectionView和IList的接口提供的方法和属性进行访问和处理,对ArrayCollection实例进行操作会修改数据源。
ArrayList:实现了IList接口,当不需要排序、过滤、使用指针的时候可以替代ArrayCollection。
XMLListCollection:和ArrayCollection类似,就是XMLList的集合形式,可以作为动态数据源绑定。(XMLList相当于N个XML混搭在一起,XML就是有且只有一个根节点)