Как удалить элемент из 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 (ключ), но не повезло.)
Спасибо
Леон