Also there is a common approach to use the root as a counter of the one-level array using $seq(uence) or $I(ncrement). E.g.

Class Test.Arrays {

ClassMethod ArrayExample()

{

 set a($seq(a))="blue"

set a($seq(a))="red"

set a($seq(a))="yellow"

write a,!    // will return 3

zwrite a // will out the full array to the device

}

}

And if we execute the following in terminal you'll get:

USER>d ##class(Test.Arrays).ArrayExample()

3

a=3
a(1)="blue"
a(2)="red"
a(3)="yellow"

Also see the good article on $seq vs $I by @Alexander.Koblov

HTH