删除最后一个条目,然后在map <integer,string =“”> </integer,>时将其打印出来

时间:2013-12-10 11:04:00

标签: java dictionary treemap

如标题所示,如果按<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
}

4 个答案:

答案 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++;
    }