📌  相关文章
📜  如何从Java TreeMap 中删除第一个条目或最后一个条目?(1)

📅  最后修改于: 2023-12-03 14:51:46.966000             🧑  作者: Mango

如何从Java TreeMap 中删除第一个条目或最后一个条目?

Java TreeMap 使得键值按照一定的顺序排序,可以按照添加顺序或根据自定义 Comparator 排序。如果你想要删除 TreeMap 中的第一个条目或最后一个条目,有以下两种方法:

方法一:使用 TreeMap 的 firstKey() 和 lastKey() 方法

可以使用 TreeMap 类的 firstKey() 和 lastKey() 方法,获取 TreeMap 中第一个和最后一个 key。然后,使用 TreeMap 的 remove() 方法从 TreeMap 中删除该 key 对应的 entry。

import java.util.TreeMap;

public class Example {
    public static void main(String[] args) {
        // 新建 TreeMap
        TreeMap<String, Integer> treeMap = new TreeMap<>();

        // 添加元素
        treeMap.put("a", 1);
        treeMap.put("b", 2);
        treeMap.put("c", 3);
        treeMap.put("d", 4);
        treeMap.put("e", 5);

        // 删除第一个条目
        treeMap.remove(treeMap.firstKey());

        // 删除最后一个条目
        treeMap.remove(treeMap.lastKey());
    }
}
方法二:使用 TreeMap 的 pollFirstEntry() 和 pollLastEntry() 方法

可以使用 TreeMap 类的 pollFirstEntry() 和 pollLastEntry() 方法,获取 TreeMap 中第一个和最后一个 entry,然后将该 entry 从 TreeMap 中删除。

import java.util.TreeMap;
import java.util.Map;

public class Example {
    public static void main(String[] args) {
        // 新建 TreeMap
        TreeMap<String, Integer> treeMap = new TreeMap<>();

        // 添加元素
        treeMap.put("a", 1);
        treeMap.put("b", 2);
        treeMap.put("c", 3);
        treeMap.put("d", 4);
        treeMap.put("e", 5);

        // 删除第一个条目
        Map.Entry<String, Integer> firstEntry = treeMap.pollFirstEntry();

        // 删除最后一个条目
        Map.Entry<String, Integer> lastEntry = treeMap.pollLastEntry();
    }
}

以上就是从 Java TreeMap 中删除第一个条目或最后一个条目的两种方法。需要注意的是,删除操作会改变 TreeMap 的大小,可能会影响 TreeMap 的其它操作。