1

Javaで複数のリスナーと複数のイベントタイプを使用してオブザーバー/リスナーパターンを実装しようとしています。各イベント リスナーは、1 つ以上のイベント タイプに関心を持つことができます。

特定のイベントの種類ごとにリスナーを保存し、それらを反復処理する最も効率的な方法は何ですか (おそらくリストのリスト)?

もちろん、スレッドセーフなソリューションが強く推奨されます。

4

3 に答える 3

4

スレッド セーフ ハッシュ マップにはjava.util.concurrent.ConcurrentHashMapを使用できます。

必要な構造は次のとおりです。

ConcurrentHashMap<EventType,List<Listener>> map;

このようにして、各リスナーは複数のイベント タイプに登録されます。

于 2012-07-09T13:46:57.230 に答える
0

EventListenerListおそらくあなたはクラスを探していますか?しかし、私はあなたを誤解しているかもしれません。

于 2012-07-09T13:44:39.030 に答える
0

EventListenerListを見てください。EventListenerを実装するすべてのリストを保持します。次に、 を呼び出しgetListeners(class)て type のリスナーを取得できますclass

于 2012-07-09T13:48:59.140 に答える