SuperCollider has a rich hierarchy of Collection subclasses, detailed below. Subclasses of a given class are indented (sub-lists) relative to the class. Classes labelled "abstract" are not for direct use, but classes lower down the tree may inherit methods from them. For this reason it is important to consult the helpfiles of classes farther up the tree in order to get a complete list of available methods.
- Collection - Abstract superclass of all collections
- Array2D - two-dimensional array
- Bag - Unordered collection of objects
- Interval - range of integers
- MultiLevelIdentityDictionary - tree of dictionaries
- Pair - LISP-like two element cells
- Range - (Undocumented class)
- SequenceableCollection - Abstract superclass of integer indexable collections
- ArrayedCollection - Abstract superclass of Collections of fixed maximum size
- Array - fixed size collection
- RawArray - Abstract superclass for arrays holding raw data values
- DoubleArray - an array of 64-bit double precision floating-point numbers
- FloatArray - an array of 32-bit single precision floating point numbers
- Signal - Sampled audio buffer
- Wavetable - sampled audio buffer in wavetable format
- Int16Array - an array whose indexed slots are all of the same type
- Int32Array - an array whose indexed slots are all of the same type
- Int8Array - an array whose indexed slots are all of the same type
- String - array of Chars
- SymbolArray - an array whose indexed slots are all of the same type
- LinkedList - doubly linked list
- List - list of items of variable size
- SortedList - a Collection whose items are kept in a sorted order.
- Order - an order of elements with a numerical index
- SparseArray - Array that stores duplicated values more efficiently
- RingBuffer - (Undocumented class)
- Set - a set according to equality
- Dictionary - associative collection mapping keys to values
- IdentityDictionary - associative collection mapping keys to values
- Environment - A dictionary which can serve as a 'name space' for functions
- Event - an environment that represents an action
- NodeMap - store control values and bus mappings
- ProxyNodeMap - store control values and bus mappings for NodeProxy
- IdentitySet - a set according to identity
- TwoWayIdentityDictionary - associative collection mapping keys to values and back
- List
- is an expandable SequenceableCollection (compare to ArrayedCollection and Array).
- Array
- is more efficient than List.
- SparseArray
- is an array of elements optimized for huge gaps between them.
- TwoWayIdentityDictionary
- is similar to IdentityDictionary and allows easy searching by both key and value. It is faster than IdentityDictionary on reverse lookup, but with more memory overhead.
- Environment
- is an IdentityDictionary, one of which is always current; useful for creating sets of persistent variables.
- Event
- is a dictionary mapping names of musical parameters to their values.
- IdentitySet
- is an unordered collection of unidentical objects (compare to Set).