次のマップがあります。
Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>();
これHashMap
は、double
値(ある時点)を対応するSoundEvent
「セル」にマップします。各「セル」には、多数のSoundEvent
sを含めることができます。それがaとして実装されている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
か?