Ich habe folgende Karte:
Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>();
Dies HashMap
ordnet double
Werte (die Zeitpunkte sind) der entsprechenden SoundEvent
'Zelle' zu: Jede 'Zelle' kann eine Anzahl von SoundEvent
s enthalten. Deshalb ist es als implementiert List<SoundEvent>
, weil es genau das ist, was es ist.
Um den Code besser lesbar zu machen, habe ich mir überlegt, eine sehr einfache statische innere Klasse wie die folgende zu implementieren:
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
}
Und dann würde die Kartendeklaration (und viele andere Codes) besser aussehen, zum Beispiel:
Map<Double, SoundEventCell> soundEventCells = new HashMap<Double, SoundEventCell>();
Ist das übertrieben? Würden Sie dies in Ihren Projekten tun?
private static
nur von der äußeren Klasse verwendet, bezieht sich jedoch nicht auf eine bestimmte Instanz der äußeren Klasse. Ist das nicht genau die richtige Verwendung von private static
?