如何根据键对TreeMap进行排序并获取First条目

时间:2017-12-20 05:51:36

标签: java

我有一个TreeMap,我想根据键对TreeMap进行排序并获得第一个条目

这是我尝试过的,但我的输出为1233 由于数字12(键)较大,我预计输出为444

import java.util.Comparator;
import java.util.TreeMap;
public class Test {
    public static void main(String args[])
    {
          TreeMap<String, String> treeMap = new TreeMap<String, String>(new MyComp());
         treeMap.put("9", "1233");
         treeMap.put("l2", "444");
         treeMap.comparator();
         String first = ((TreeMap<String, String>) treeMap).firstEntry().getValue();
         System.out.println(first);
    }
}

class MyComp implements Comparator<String>{
    @Override
    public int compare(String str1, String str2) {
        return str1.compareTo(str2);
    }
}

1 个答案:

答案 0 :(得分:0)

如果您希望根据字符串键的数值对TreeMap进行排序,则需要一个Comparator来解析这些字符串。使用JDK 8,它是一个优雅的衬垫:

TreeMap<String, String> treeMap = 
    new TreeMap<>(Comparator.comparingInt(Integer::parseInt));