gpt4 book ai didi

java - 从 NavigableMap 中提取列表

转载 作者:行者123 更新时间:2023-11-30 01:56:26 25 4
gpt4 key购买 nike

这是 my previous question 的后续问题.

我正在尝试实现 NavigableMap定义为NavigableMap<Timestamp, Event> 。我需要这张 map 作为我的缓存。每 5 分钟我刷新一次 NavigableMap

一个线程更新了此NavigableMap ,另一个从中读取,因此它需要是线程安全的。每当我有请求时,我都需要获取 Events 的子集列表其时间戳在给定的start内和end时间。

转换NavigableMap最有效的方法是什么?对于这个子集列表,例如 ArrayList ?这个接口(interface)的线程安全实现是什么?

显然NavigableMap有一个子 map 方法以及 floorceiling ,但我没有看到任何可以转换为带有开始和结束时间的列表的内容。

最佳答案

NavigableMap 中提取键范围,调用subMap(K fromKey, K toKey)subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) .

如果您只想要列表形式的值,请执行以下操作:

List<Event> list = new ArrayList<>(map.subMap(start, end).values());
<小时/>

what's the thread-safe implementation of this interface?

根据javadoc : ConcurrentSkipListMap

关于java - 从 NavigableMap 中提取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54336124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com