У меня есть следующая карта:
Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>();
Это HashMap
отображает double
значения (которые являются точками во времени) в соответствующую SoundEvent
«ячейку»: каждая «ячейка» может содержать число SoundEvent
s. Вот почему он реализован как List<SoundEvent>
, потому что это именно то, что он есть.
Ради лучшей читабельности кода я подумал о реализации очень простого статического внутреннего класса, например:
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
}
И чем объявление карты (и много другого кода) будет выглядеть лучше, например:
Map<Double, SoundEventCell> soundEventCells = new HashMap<Double, SoundEventCell>();
Это перебор? Вы бы сделали это в своих проектах?
private static
тем, что он будет использоваться только внешним классом, но он не связан с каким-либо конкретным экземпляром внешнего класса. Разве это не правильное использование private static
?