Ответ 1
Я просто использовал BlockingQueue<Map.Entry<K,V>>
в прошлом. Но недавно я столкнулся с этой Блокирующей картой для Java. Однако я не использовал его сам.
Я хотел бы иметь одну структуру данных BlockingMap, которая очень похожа на BlockingQueue. Метод take blockingQueue будет ждать там до тех пор, пока элемент не будет доступен. Я бы хотел, чтобы метод get BlockingMap дождался там, пока не появится соответствующий ключ? Доступна ли такая структура данных, которую я могу использовать?
Я просто использовал BlockingQueue<Map.Entry<K,V>>
в прошлом. Но недавно я столкнулся с этой Блокирующей картой для Java. Однако я не использовал его сам.
Надеюсь, это, что вы хотите.
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 java.util.Map<K,V>
Указано:
get in interface BlockingMap<K,V>
Параметры:
key - the key whose associated value is to be returned
Возврат:
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