У мене є така карта:
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
?