Это дополнительный вопрос от моего предыдущего вопроса .
Я пытаюсь реализовать NavigableMap
, определенный как NavigableMap<Timestamp, Event>
. Мне нужно, чтобы эта карта была для меня как кеш. Каждые 5 минут я обновляю это NavigableMap
.
Один поток обновляет этот NavigableMap
, а другой читает из него, поэтому он должен быть потокобезопасным. Всякий раз, когда у меня есть запрос, мне нужно было бы получить список подмножеств Events
, отметки времени которого находятся в пределах заданного времени start
и end
.
Какой самый эффективный способ преобразовать NavigableMap
в этот список подмножеств, скажем, ArrayList
? И что такое поточно-ориентированная реализация этого интерфейса?
Очевидно, NavigableMap
имеет метод подкарты, а также floor
и ceiling
, но я не вижу ничего, чтобы преобразовать в список с временем начала и окончания.