私はBlockingQueueと非常に似ている1つのBlockingMapデータ構造を持っていたいと思います。 BlockingQueueのtakeメソッドは、elementが利用可能になるまでそこで待機します。対応するキーが利用可能になるまでBlockingMapのgetメソッドを待機させたいですか?このような種類のデータ構造が利用できるのですか?BlockingMapはBlockingQueueとしてJavaにありますか?
15
A
答えて
10
私は単純にBlockingQueue<Map.Entry<K,V>>
を使用しました。しかし、最近、私はこれを見つけたBlocking Map for Java。しかし、それを自分で使ったことはありません。
4
私が希望するのはthisです。
public class BlockingHashMap<K,V>
extends java.lang.Object
implements BlockingMap<K,V>
public V get(java.lang.Object key)
を取得し、このマップがキーのマッピングを保持していない場合は指定されたキーがマッピングされた、またはnullされている値を返します。 nullがで指定された要求されたキー
がないことを示すために、特殊なマーカーとして使用されていることを 注:
get in interface BlockingMap<K,V>
パラメータ:
key - the key whose associated value is to be returned
get in interface java.util.Map<K,V>
で指定します
の戻り値:
the value to which the specified key is mapped, or null if this map contains no mapping for the key
例外:
java.lang.ClassCastException - if the key is of an inappropriate type for this map
java.lang.NullPointerException - if the specified key is null and this map does not permit null keys (optional)
java.lang.IllegalStateException - if the map has been shut-down
+0
' java.lang.Object'を拡張しますか? Javaではすべてのオブジェクトインスタンスがすでにそれを拡張しています – rkosegi
+0
javadocがそれを行う方法です。 –
関連する問題
- 1. java BlockingQueueにブロッキング・ピークがありませんか?
- 2. Java NIO PipeとBlockingQueue
- 3. BlockingQueueに最大ブロック時間はありますか
- 4. Java BlockingQueue while()whileループ
- 5. triggering SheduledExecutor with blockingQueue Java
- 6. Java静的同期とBlockingQueueの実装
- 7. Objective-Cに相当するJavaのBlockingQueue?
- 8. C++ JavaのBlockingQueueに相当する
- 9. Javaの複数のプロデューサとコンシューマの問題(BlockingQueueなし)
- 10. Java。 Consumer - BlockingQueueを持つプロデューサ検索ツール
- 11. JavaにResolvedFutureクラスはありますか?
- 12. Javaに「スマートポインタ」はありますか?
- 13. JavaにFile.AppendAllText()はありますか?
- 14. Java 1.4プロジェクトはJava 7と互換性がありますか?
- 15. どのようにしてBlockingQueueがブロックされていますか?
- 16. eclipseで `javaアプリケーションとして実行`と `cmd-line`から` java -jar xxx.jar`との違いはありますか?
- 17. JavaのBlockingQueueに同時コールを呼び出す
- 18. BlockingQueueで正常に仕事を終了する方法java
- 19. Javaパッケージとクラスはどこにありますか?
- 20. Java GUI - MouseListenerとActionListenerは同じクラスにありますか?
- 21. Java 6からJava 7までのJDiffはありますか?
- 22. JavaでTrieはありますか?
- 23. Java CSSフォーマッタ・ユーティリティはありますか?
- 24. バグのJavaアノテーションはありますか?
- 25. Java用の「ビジュアルデバッガ」はありますか?
- 26. BlockingQueue resource consuming
- 27. Android LooperとBlockingQueueはどちらですか?
- 28. Javaに符号なしバイトの規定はありますか?
- 29. Javaでは= +と+ =の違いはありますか?
- 30. Javaソースコードにテストケースがありますか?
あなたは常に同様の結果を達成するためにBlockingQueueの、未来または交換器とのConcurrentHashMap組み合わせることができます。 – Mikhail
@zjffdu興味深い 'BlockingMap' http://cs.oswego.edu/pipermail/concurrency-interest/2007-June/004211.html –