Tengo el siguiente mapa:
Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>();
Esto HashMapasigna doublevalores (que son puntos en el tiempo) a la SoundEvent'celda' correspondiente : cada 'celda' puede contener un número de SoundEvents. Por eso se implementa como unList<SoundEvent> , porque eso es exactamente lo que es.
En aras de una mejor legibilidad del código, pensé en implementar una clase interna estática muy simple como esta:
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
}
Y que la declaración del mapa (y muchos otros códigos) se vería mejor, por ejemplo:
Map<Double, SoundEventCell> soundEventCells = new HashMap<Double, SoundEventCell>();
¿Es esto excesivo? ¿Harías esto en tus proyectos?
private staticdebe a que solo será utilizada por la clase externa, pero no está relacionada con ninguna instancia específica de la clase externa. ¿No es exactamente el uso apropiado de private static?