@Deeeds
I found this post which is great in helping my array understandings, but I really enjoyed your part 1 written previously so please get the part 2 posted ... please!
You can't add an item at index location 5. It's simply impossible. You can't even add one at index 4, because that doesn't yet exist. But you can ~append~ item to the array. This extends out the array adding more space for itself, and makes an extra index. Now your new object is stored at index 4.
And arrays are super sensitive to the order in which things are stored, being absolute sticklers for this detail is both their massive advantage (reliability and predictability) and their short coming, because re-ordering or shuffling an array requires a lot of operations. The order of objects in an array gives it structure and meaning, as you can always be sure that what you want is where you put it, in the order you put everything in, so you can always know what's next... and so can your CPU and memory system.
Modern computers do an enormous amount of "predictive" processing, and iterating over an array (let's say, adding a 10 to every item in an array) is something that they're VERY good at, as they'll quickly figure out the space between each item and that the iteration is happening, and grab whole chunks of the array early, before instructions come in, and start working on them before being explicitly asked, presuming the results are going to be needed.
This is of enormous benefits to games, where every frame requires exactly this sort of operation to move all the objects in a game world.
So if you ever get the chance to use arrays for positions, rotations, interactions, etc... then do. Use them as much as you can.
Thanks!