ฉันมีแผนที่ดังต่อไปนี้:
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
ใช่ไหม