The collection library consists of several classes that rely on ActionScripts object-oriented features including both interfaces and inheritace. Below is diagram of how all the various classes interrelate.
asdk.Collection
- The top-level interface within the collection library supporting lists. Each
implementation supports the iterator method that returns an asdk.Iterator for traversing its elements.asdk.AbstractCollection
- Provides a significant portion of the functionality for the remaining
subclasses supporting the Collection interfaces. Although ActionScript does not support abstract classes directly,
this class effectively acts as an abstract class that contains certain methods that are "overriden" in child classes.asdk.ArrayList
- Basic and commonly used implementation of a Collection that act similarly to an array;
allows duplicated elements.asdk.Set
- Marker interface for collections that do not allow duplicate elements.asdk.HashSet
- Similar to an ArrayList except that it does not allow duplicate elements per the
contract of the Set interface.asdk.Stack
- A Collection implementation that supports a LIFO (last in first out) contract for storing
and retrieving elements; primary methods include push, pop, and peek.asdk.Queue
- A Collection implementation that supports a FIFO (first in first out) contract for storing
and retrieving elements; primary methods include push, pop, and peek.asdk.LinkedList
- A collection in which each node is "linked" to the previous and next nodes in
the list. This provides the ability to traverse the elements both forward and backward directly using the nodes themselvesasdk.LinkedListItem
- The items (nodes) of a linked list are stored in an object of this type. It surfaces
three primary methods, getNext for getting the next item in the list, getPrevious for getting the previous item in the
list and getData for getting the underlying object that is stored in the list.asdk.Map
- The top-level interface within the collection library supporting mappings of key/value pairs.asdk.AbstractMap
- Implements commonly used methods of the Map interface.asdk.HashMap
- Primary implementation of the Map interface supporting fast lookups of values based
on the corresponding key.asdk.IComparator
- Interface for comparing to objects.asdk.ObjectComparator
- Default implementation of the IComparator interface which compares objects for
equality; used in the collection interface to compare objects within the collection.asdk.condition.BinaryCondition.
- Interface for implementing a binary condition that executes on
two operandsasdk.condition.ObjectsEqual
- Default implementation of the BinaryCondition interface that compares
two objects for equality.