java - 如何从Map中获取最近100条数据?

标签 java list sorting dictionary

我有一个长字符串映射 - 映射,它将我的时间戳存储为键,将值存储为我的数据。

Map<Long, String> eventTimestampHolder = new HashMap<Long, String>();

现在我想通过查看作为键一部分的时间戳从上面的 map 中获取 100 个最新数据,然后继续将这些数据添加到字符串列表中。一般来说,填充列表中的 100 个最新数据。

执行此操作的最佳方法是什么?我可以在这里使用 TreeMap,它会根据时间戳正确对我的键进行排序吗?

一般来说,我的时间戳看起来像这样 - 1417686422238 并且以毫秒为单位

最佳答案

如果您的意思是“最近”最近添加的,那么您可以尝试 LinkedHashMap 它将保持插入的顺序。然后您可以迭代前 100 项。

您可以像这样迭代 map :

for(Long key : eventTimestampHolder.keySet()) {
    String value = eventTimestampHolder.get(key);
}

关于java - 如何从Map中获取最近100条数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27326576/

相关文章:

Python - 切片列表以获取列表中的第一项(列表的切片列表)

javascript - 如何使用 html css js 生成随机大小的数组以对可视化器进行排序?

java - 如何启用 Websphere MQ 的客户端日志记录?

java - 是否已经有适用于 Java/Android 的 OAuth2 库?

Java:如何根据提供的模式从 String 中提取值并将其填充到 Map 中?

javascript - 如何根据与单词的匹配程度对二维数组进行排序?

java - 快速排序不对长度为 2 的数组进行排序

java - Android Listview 删除项目后不更新

python - 迭代具有不同元素的列表

java - Java 中是否可以通过公共(public)字段对对象列表进行排序?