java - 将 TreeMap 修剪为 n 个条目

标签 java hashmap

我有一个排序的 TreeMap,我想删除除前 10 个元素之外的所有元素。有什么方法可以做到这一点?我考虑过在 map 大小大于 10 时从 map 末尾删除元素,但我不知道该怎么做。我可以转换为列表然后再转换回来吗?

谢谢

最佳答案

HashMap 没有开始或结束——它们是无序的。您迭代项目的顺序将与您插入项目的顺序完全无关。如果您可以改用 LinkedHashMap,该类实际上会保留插入项的顺序。然后,您可以简单地遍历 entrySet(),在遍历前十个项目后,在迭代器上为每个项目调用 remove()

关于java - 将 TreeMap 修剪为 n 个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7870913/

相关文章:

java - 在 Java HashSet 中,它如何计算自定义对象的 hashCode?

java - Eclipse:使大括号更明显

java - vector 缩放问题

java ; NIO - 从 SocketChannel 读取大量数据

Java - 从 HashMap 中获取正确转换的对象

Kotlin 按降序对 hashmap 进行排序

java - 热衷于将 EntrySet() 方法从 HashMap<Integer,Object> 移植到 trove4j?

java - Java Map<String, Object> 的 C++ 等价物

java - 使用 DynamoDBMapper 是个坏主意吗?

java - 为什么 Java 有 4 种不同类型的引用?