Ho la seguente mappa:
Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>();
Questo HashMap
mappa i double
valori (che sono punti nel tempo) alla corrispondente SoundEvent
"cella": ogni "cella" può contenere un numero di SoundEvent
s. Ecco perché è implementato come List<SoundEvent>
, perché è esattamente quello che è.
Per motivi di migliore leggibilità del codice, ho pensato di implementare una classe interna statica molto semplice come questa:
private static class SoundEventCell {
private List<SoundEvent> soundEvents = new ArrayList<SoundEvent>();
public void addEvent(SoundEvent event){
soundEvents.add(event);
}
public int getSize(){
return soundEvents.size();
}
public SoundEvent getEvent(int index){
return soundEvents.get(index);
}
// .. remove() method unneeded
}
E rispetto alla dichiarazione della mappa (e molti altri codici) apparirebbe meglio, ad esempio:
Map<Double, SoundEventCell> soundEventCells = new HashMap<Double, SoundEventCell>();
Questo è eccessivo? Lo faresti nei tuoi progetti?
private static
perché verrà utilizzata solo dalla classe esterna, ma non è correlata a nessuna istanza specifica della classe esterna. Non è esattamente l'uso corretto di private static
?