如何在Java中使用SortedMap接口?
我有一个
map<Float, MyObject>  按照浮点数sorting的地图最好的办法是什么? 
  SortedMap是最好的答案吗?  TreeMap ? 我如何使用它? 
  (我只创build一次地图,并经常使用myMap.put() , myMap.get() )来replaceMyObject 
 我会用TreeMap ,它实现SortedMap 。 它正是为此而devise的。 
例:
 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相关的教程列表 。 
一个TreeMap可能是这样做的最直接的方法。 你使用它就像一个正常的地图。
即
  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看看你能用它做些什么。;
你可以使用内部实现SortedMap的TreeMap作为例子
按升序sorting:
  Map<Integer,String> ascsortedMAP = new TreeMap<Integer,String>(); ascsortedMAP.put(8, "name8"); ascsortedMAP.put(5, "name5"); ascsortedMAP.put(15, "name15"); ascsortedMAP.put(35, "name35"); ascsortedMAP.put(44, "name44"); ascsortedMAP.put(7, "name7"); ascsortedMAP.put(6, "name6"); for(Map.Entry<Integer, String> mapData : ascsortedMAP.entrySet()) { System.out.println("Key : " +mapData.getKey()+ "Value : "+mapData.getValue()); } 
按降序sorting:
  //Create the map and provide the comparator as a argument Map<Integer,String> dscsortedMAP = new TreeMap<Integer,String>(new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2.compareTo(o1); } }); dscsortedMAP.putAll(ascsortedMAP); for(Map.Entry<Integer, String> mapData : dscsortedMAP.entrySet()) { System.out.println("Key : " +mapData.getKey()+" Value : "+mapData.getValue()); } 
有关SortedMAP的更多信息,请阅读http://examples.javacodegeeks.com/core-java/util/treemap/java-sorted-map-example/
TreeMap,它是SortedMap接口的一个实现,可以工作。
我如何使用它?
 Map<Float, MyObject> map = new TreeMap<Float, MyObject>(); 
  TreeMap按关键的自然顺序进行sorting。 键应该实现Comparable或与Comparator兼容(如果您将一个实例传递给构造函数)。 在你的情况下, Float已经实现了Comparable所以你不必做任何特殊的事情。 
 您可以调用keySet来按升序检索所有的键。