TreeMap 获取第一个元素并删除

Mad*_*nyo 3 java dictionary data-structures

我需要从TreeMap. 但是除非我忽略某些东西,否则无法立即执行此操作。

removedValue = treeList.remove(treeList.firstEntry().getValue());
Run Code Online (Sandbox Code Playgroud)

那条线必须两次访问地图,但这似乎是要走的路。我认为它不会有太大的不同,因为在添加某些内容时地图会进行排序,但我希望它具有功能。

Ale*_* C. 5

如果您需要删除和获取条目,则可以使用pollFirstEntry()(假设您使用的变量类型至少是 a NavigableMap- 但由于您使用的是firstEntry,我猜是)。

T2 removedValue = null;
Map.Entry<T1, T2> entry = treeList.pollFirstEntry();
if(entry != null) {
    removedValue = entry.getValue();
}
Run Code Online (Sandbox Code Playgroud)

请注意,null如果地图为空(null在这种情况下它将返回),请注意避免 NPE的检查。