{ "type": "class",
  "qname": "mx.collections.ArrayCollection",
  "baseClassname": "mx.collections.ListCollectionView"
  ,
    "description": "The ArrayCollection class is a wrapper class that exposes an Array as a collection that can be accessed and manipulated using the methods and properties of the <code>ICollectionView</code> or <code>IList</code> interfaces. Operations on a ArrayCollection instance modify the data source; for example, if you use the <code>removeItemAt()</code> method on an ArrayCollection, you remove the item from the underlying Array.   <p>The <code>&lt;mx:ArrayCollection&gt;</code> tag inherits all the attributes of its superclass, and adds the following attributes:</p>  <pre>\\n &lt;mx:ArrayCollection\\n <b>Properties</b>\\n source=&quot;null&quot;\\n /&gt;\\n </pre>  accesses and manipulates an array with a single Object element. It retrieves the element using the IList interface <code>getItemAt</code> method and an IViewCursor object that it obtains using the ICollectionView <code>createCursor</code> method. <pre>\\n var myCollection:ArrayCollection = new ArrayCollection([ { first: 'Matt', last: 'Matthews' } ]);\\n var myCursor:IViewCursor = myCollection.createCursor();\\n var firstItem:Object = myCollection.getItemAt(0);\\n var firstItemFromCursor:Object = myCursor.current;\\n if (firstItem == firstItemFromCursor)\\n doCelebration();\\n </pre>",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "example",
         "values": ["The following code creates a simple ArrayCollection object that"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.collections.ArrayCollection",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.  <p>Creates a new ArrayCollection using the specified source array. If no array is specified an empty array will be used.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["source The source Array."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "source", "type": "Array"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "source",
        "namespace": "public",
        "bindable": ["listChanged"],
        "details": [],
        "deprecated": {},
          "description": "The source of data in the ArrayCollection. The ArrayCollection object does not represent any changes that you make directly to the source array. Always use the ICollectionView or IList methods to modify the collection.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
