如标题所示,如果按<Integer, String>
排序,如何删除树形图中的最后一个条目
因为树形图中的remove()
方法只删除了一个键......
看起来像这样:
int i = 0;
while (i <= 10) {
System.out.println("Value is: " + Resultat.lastEntry());
i++;
// here, I want to delete the last entry
}
答案 0 :(得分:1)
使用NavigableMap.pollLastEntry -removes并返回与此地图中最大键关联的键值映射,如果地图为空,则返回null。
NavigableMap<Integer, String> map=new TreeMap<>();
map.put(1, "one");
System.out.println(map);
map.pollLastEntry(); // It wil remove last entry.
System.out.println(map);
答案 1 :(得分:0)
为什么不使用pollLastEntry()
?
删除并返回与最大值关联的键值映射 此映射中的键,如果映射为空,则为null。
public static void main (String[] args) throws java.lang.Exception
{
TreeMap<Integer, String> testTreeMap = new TreeMap<>();
//Populate example map with values
testTreeMap.put(1,"Test");
testTreeMap.put(0, "Test0");
testTreeMap.put(6, "Test6");
testTreeMap.put(4, "Test4");
testTreeMap.put(2, "Test2");
testTreeMap.put(3, "Test3");
testTreeMap.put(5, "Test5");
int i = 0;
while (i <= 3) {
System.out.println("Value is: " + testTreeMap.pollLastEntry());
i++;
}
System.out.println(testTreeMap);
}
输出:
Value is: 6=Test6
Value is: 5=Test5
Value is: 4=Test4
Value is: 3=Test3
{0=Test0, 1=Test, 2=Test2}
答案 2 :(得分:0)
你可以使用map.remove()
;如果你知道最后一个键值对的键。
Map<Integer,String> map=new TreeMap<>();
map.remove("key");// key of last entry.
答案 3 :(得分:0)
完整代码在这里
int j = 0;
while (j <= 3) {
Map.Entry<Integer,String> entry = records.pollLastEntry();
records.remove(entry.getKey());
j++;
}