dovresti studiarti qualcosa su algoritmi e strutture dati, ti consiglio di usare le liste, il tuo problema è inerente la programmazione ma non tanto al linguaggio, piuttosto può essere risolto con una oculata scelta sulla struttura dati da usare e per questo ti consiglio le liste ovvero ArrayList come vengono chiamate in Java.
le liste presentano metodi che ti rendono la vita molto più facile, senza andare a impelagarti in gestione diretta della memoria o altro e ottenendo più o meno lo stesso risultato; il bello di java è che ha automatismi attuati dalla virtual machine, se vuoi gestirti davvero da te la memoria usa il C o il C++ .