如何在Java中使用SortedMap接口?

2022-08-31 11:59:29

我有一个

 Map<Float, MyObject>

根据浮点数对地图进行排序的最佳方法是什么?

是最好的答案吗? ?我该如何使用它?SortedMapTreeMap

我只创建一次地图,并替换经常使用的和。MyObjectmyMap.put()myMap.get()


答案 1

我会使用 ,它实现了 .它正是为此而设计的。TreeMapSortedMap

例:

Map<Integer, String> map = new TreeMap<Integer, String>();

// Add Items to the TreeMap
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");

// Iterate over them
for (Map.Entry<Integer, String> entry : map.entrySet()) {
    System.out.println(entry.getKey() + " => " + entry.getValue());
}

请参阅 SortedMap 的 Java 教程页面
这里列出了与TreeMap相关的教程。


答案 2

树状图可能是执行此操作的最直接方法。您完全像使用普通地图一样使用它。即

Map<Float,String> mySortedMap = new TreeMap<Float,MyObject>();
// Put some values in it
mySortedMap.put(1.0f,"One");
mySortedMap.put(0.0f,"Zero");
mySortedMap.put(3.0f,"Three");

// Iterate through it and it'll be in order!
for(Map.Entry<Float,String> entry : mySortedMap.entrySet()) {
    System.out.println(entry.getValue());
} // outputs Zero One Three 

值得一看的是API文档,http://download.oracle.com/javase/6/docs/api/java/util/TreeMap.html 看看你还能用它做什么。


推荐