Eu tenho o seguinte mapa:
Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>();
Isso HashMap
mapeia double
valores (que são pontos no tempo) para a SoundEvent
'célula' correspondente : cada 'célula' pode conter um número de SoundEvent
s. É por isso que é implementado como um List<SoundEvent>
, porque é exatamente o que é.
Por uma questão de melhor legibilidade do código, pensei em implementar uma classe interna estática muito simples assim:
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 que a declaração do mapa (e muitos outros códigos) ficaria melhor, por exemplo:
Map<Double, SoundEventCell> soundEventCells = new HashMap<Double, SoundEventCell>();
Isso é um exagero? Você faria isso em seus projetos?
private static
porque só será usada pela classe externa, mas não está relacionada a nenhuma instância específica da classe externa. Não é exatamente esse o uso adequado private static
?