Per capire come lavorare con gli array bastano due cose:
1) disegnarsi l'array ogni volta che si fa un algoritmo. sembra una stupidata, ma fidati, solo questo è il 95% della comprensione. questo vale anche per tutti gli altri collectors (liste, alberi, code, ecc.).
2) fai tanti tanti tanti tanti tanti tanti tanti tanti tanti tanti tanti esercizi. creati un programmino che dato un array ci fa qualunque cosa ti venga in mente: inversione, shifting, cancellazione in testa/coda/mezzo, inserimento, split, qualsiasi cosa è utile per imparare e anche a capire i pro e i contro di questa struttura dati.