Provides several classes which implement data structures called collections. These collection classes provide the following features not found in the Java 1.1 core libraries:
interface based
The classes are designed around several key interfaces. All collections implement com.sas.collection.StaticCollectionInterface. This interface itself extends several smaller interfaces:
com.sas.util.Countable
defines the count() method;
com.sas.util.Enumerable
defines the getItems() method for obtaining a java.util.Enumeration;
com.sas.collection.ContentsChangedListener
defines the event subscription mechanism;
com.sas.PublicClonable
allows all collections to be cloned; and
java.io.Serializable
for serialization.

com.sas.collection.StaticOrderedCollectionInterface and com.sas.collection.OrderedCollectionInterface defines access to ordered collections -- collections which access items via an integer index, much like an array. See also com.sas.util.IndexedGetInterface and com.sas.util.IndexedSetInterface

Model/View based design
The collection classes fire a com.sas.collection.ContentsChangedEvent when the contents of the collection are modified, such as items being added to or removed from or replaced in the collection, or when an ordered collection is sorted or otherwise rearranged.
Sorting
The ordered collections may be sorted using a flexible comparison interface, com.sas.util.Comparator.
Consistent API
Whereas the different JDK collections class define similar operations with inconsistent names, the com.sas.collections use a much more uniform method naming convention, due mostly to the common interfaces the collections implement.

Key Interfaces

Below is a diagram which shows the significant interfaces in the collection classes, and how they inherit from one another. com.sas.collection.StaticCollectionInterface is the central interface. Click on an interface name to view the documentation for that interface.



The following are the most important interfaces in the com.sas.collection package:
  1. StaticOrderedCollectionInterface
  2. StaticCollectionInterface, CollectionInterface
  3. ContentsChangedListener, ContentsChangedSource

Key Classes
The following are the key classes in the com.sas.collection package:
  1. OrderedCollection, OrderedListCollection
  2. Collection, Set
  3. Dictionary,
  4. StringCollection
  5. ContentsChangedEvent
  6. AssociationList

Utility Classes
The following classes serve utility roles. They are more useful for internal implementation of other classes, since they may not implement all of the collection or com.sas.Component interfaces
  1. PropertyBag,
  2. LongKeyDictionary
  3. Pair, PairFirst, PairSecond
  4. StaticDictionary, StaticCollection, StaticOrderedCollection,