如何从TreeMap中删除第一个元素?

时间:2016-01-01 16:14:58

标签: java dictionary treemap

我需要实现一个容器,其中包含最多32个值,其中元素按键排序。在C ++中它有点简单,因为每个映射都按照它的键排序,在Java中我不太确定。

所以我读了一些并附带了TreeMap。

如何从TreeMap(第一个)中有效地删除最旧的元素?

谢谢!

2 个答案:

答案 0 :(得分:2)

你说

  

这里的关键是'sequenceNumber',它在同一个循环中递增。

通过TreeMap documentation,它声明了

  

地图根据其键的自然顺序或地图创建时提供的比较器进行排序,具体取决于使用的构造函数。

因此您可以在排序后轻松删除第一个元素。

示例:

TreeMap<Integer, String> map = new TreeMap<>();

map.put(1, "ac");
map.put(2, "ef");
map.put(3, "bd");

map.remove(map.firstKey());

答案 1 :(得分:0)

使用LinkedHashMap,其方法为removeEldestEntry