J'ai la carte suivante:
Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>();
Cela HashMap
mappe les double
valeurs (qui sont des points dans le temps) à la SoundEvent
«cellule» correspondante : chaque «cellule» peut contenir un certain nombre de SoundEvent
s. C'est pourquoi il est implémenté en tant que List<SoundEvent>
, car c'est exactement ce que c'est.
Pour une meilleure lisibilité du code, j'ai pensé à implémenter une classe interne statique très simple comme ceci:
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
}
Et que la déclaration de carte (et beaucoup d'autres codes) serait meilleure, par exemple:
Map<Double, SoundEventCell> soundEventCells = new HashMap<Double, SoundEventCell>();
Est-ce exagéré? Le feriez-vous dans vos projets?
private static
parce qu'elle ne sera utilisée que par la classe externe, mais elle n'est liée à aucune instance spécifique de la classe externe. N'est-ce pas exactement la bonne utilisation de private static
?