An array collection represents an array of data type elements,
each of which is associated with a unique key value.
Keys can have any value, string or numeric.
The %Collection.AbstractArray class provides the basic functionality of the
various array collection classes.
Set arr=##class(%ArrayOfDataTypes).%New()
; place items into the array
Do arr.SetAt("red","color")
Do arr.SetAt("large","size")
Do arr.SetAt("expensive","price")
; iterate over contents of array
Set key=""
For Set value=arr.GetNext(.key) Quit:key="" Write key,":",value,!
abstract method Find(element As %RawString, key As %String) as %String [ Language = objectscript ]
Starting from, but not including, location key,
finds the next element in the array with value equal to element.
If key is a null string (""), the search starts at the beginning of the array.
Find returns the key associated with the found element or null string ("") if no element is found.
abstract method GetPrevious(ByRef key As %String) as %RawString [ Language = objectscript ]
Finds and returns the value of the element at the location before key
in the array. If key is a null string (""), it returns
the value of the last element in the array.
The value of key, which is passed by reference, is updated to the key
value of the returned element or null string ("") if key is at the beginning of the array.
abstract method IsDefined(key As %String) as %Boolean [ Language = objectscript ]
Returns true (1) if a value is defined at location key,
otherwise false (0).
classmethod LogicalToOdbc(val As %String = "", delim As %String = ",", class As %String = "", method As %String = "") as %String [ Language = objectscript ]
Converts the serial state of this array object to a delimited string
using delim as a delimiter.
classmethod OdbcToLogical(val As %String = "", delim As %String = ",", class As %String = "", method As %String = "") as %String [ Language = objectscript ]
Converts the value of an incoming delimited string to a serialized state
using delim as a delimiter.
abstract method Previous(key As %String = "") as %String [ Language = objectscript ]
Finds and returns the key value of the element at the location preceding key in the array.
If key is a null string (""), then Previous() returns the key value for the last element in the array.
abstract method RemoveAt(key As %String) as %RawString [ Language = objectscript ]
Removes the element associated with key in the array.
RemoveAt returns the value of the removed element or null string ("")
if no element was removed.
abstract method SetAt(element As %RawString, key As %String) as %Status [ Language = objectscript ]
Sets the value of the element associated with key to element.
Returns a %Status value indicating success or failure.