Как удалить элемент из ConcurrentSkipListMap?

Предполагая, что у меня есть карта: ConcurrentSkipListMap[Key, Resource] resourcePool

Чтобы получить ресурс:

Entry<Key, Resource> candidate = resourcePool.headMap(key, true).pollLastEntry();

if (candidate == null) {   return new Resource(); }

return candidate.getValue();

Чтобы переработать ресурс:

resourcePool.put(key, resource);

Это правильно (потокобезопасно), чтобы удалить запись из ConcurrentSkipListMap, как приведенный выше код? И есть ли другие варианты лучше?

(На самом деле, карта headMap отчасти тратится впустую, я пытаюсь найти что-то вроде poolFloorEntry (ключ) или poolCeilingEntry (ключ), но не повезло.)

Спасибо

Леон

0 ответов

Другие вопросы по тегам