prego, ti segnalo ancora una cosa, in effetti prima mi sono focalizzato solo sugli aspetti della tua "collezione" di dati ma se vuoi snellire ulteriormente sulla parte di input, si può fare.
Puoi o fare una classe a parte oppure tenere lo Scanner come variabile di istanza (dipende cosa fa la classe che ha popolamento() ) in modo da avere metodi es.

codice:
public String readStringInput(String prompt);
public int readIntInput(String prompt);
In questi metodi non solo puoi fare l'input ma potresti anche gestire gli errori e l'eventuale ripetizione dell'input se errato/malformato.