Well it seems you have declared an array of zero length (I'm confused as to why this is even legal, but whatever), and you are trying to access one of its elements. Since it has zero length it has no elements and attempting to accessing one results in the error you are getting.
I changed the initArrayItems back the way I originally had it, in the randomItemCreator, and it seems to be fine now. Aside from the issue I'm having above.