2017-03-16 4 views
-2

誰かが、putやaddのハッシュマップを観察し、アイテムが置かれると、追加されたキー(値)を返すプログラムの作成を手伝ってもらえますか? オブザーバがputを検出すると、私はレスポンスオブジェクトに対して何らかの処理を実行するもう一つのメソッドへのレスポンスを取得します。HashMap observer埋め込みを検出しようとしているJava

私はJavaでObserverを使った提案を楽しみにしています。

+1

[デコレータ](https://en.wikipedia.org/wiki/Decorator_pattern)を使用して、オブザーバーに許可するコードを追加することができます。あるいは、あなたのために飾り付けをするAOPライブラリーをいくつか使用してください(しかし、私はそれらを使用しているのが現在のところ範囲外かもしれません)。 – Thomas

+1

Help:試してみてください。私たちはここであなたの宿題をしているわけではありません。いくつかのコードを記述することから始めます。ここで具体的な質問をしてください。それ以外のものはあなたのためにダウンボントになります。 – GhostCat

答えて

1

はJavaFXのプロパティを見て考えてみましょう:あなたのケースではhttp://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm

ObservableMapを使用することが適しだろう。あなたのケースでそうhttps://docs.oracle.com/javase/8/javafx/api/javafx/collections/ObservableMap.html

:これは、マップの変化を追跡することができますデコレータ、ある

// yourMap is the map that has to be observed 
ObservalbeMap<Key, Value> observableMap = FXCollections.observableMap(yourMap); 

次にあなたがobservableMapにリスナーを添付することができます。ラムダのを使用して

observableMap.addListener(new MapChangeListener<SensorType, Node>() 
     { 
      @Override 
      public void onChanged(Change<? extends Key, ? extends Value> change) 
      { 
       // your code here 
      } 
     }); 

かは、:

observableMap.addListener(
(MapChangeListener.Change<? extends Key, ? extends Value> change) -> 
       { 
        // your code here 
       }); 

キーと値のプレースホルダは、彼らが自分自身のマップの彼らは、キーと値の型でなければなりません。

関連する問題