У меня есть следующая карта:
Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>();
Это HashMapотображает doubleзначения (которые являются точками во времени) в соответствующую SoundEvent«ячейку»: каждая «ячейка» может содержать число SoundEvents. Вот почему он реализован как 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?