日期:2014-05-20  浏览次数:20611 次

TreeMap 索引
本帖最后由 snowwhite2008 于 2013-03-06 21:00:41 编辑
各位大侠,小弟有个棘手的弱智问题,还请帮忙。

大家知道在java中class TreeMap是根据其键的自然顺序进行排序,那如何能够知道指定键值对在整个TreeMap的索引值。例如以下代码:

TreeMap<String, String> tmp = new TreeMap<String, String>(); 
tmp.put("a", "aaa"); 
tmp.put("b", "bbb"); 
tmp.put("c", "ccc"); 
tmp.put("d", "cdc");

Iterator<String> iterator_2 = tmp.keySet().iterator(); 
while (iterator_2.hasNext()) { 
Object key = iterator_2.next(); 
System.out.println("tmp.get(key) is :" + tmp.get(key))

输出结果是:
tmp.get(key) is :aaa 
tmp.get(key) is :bbb 
tmp.get(key) is :ccc 
tmp.get(key) is :cdc

小弟的问题就是想知道("c", "ccc")这个键值对在tmp中的索引。

结果大家都知道是2(第一个为0)

有没有简便的方法来获取该索引号,多谢。
TreeMap java

------解决方案--------------------
转换成List,通过List的方法int indexOf(Object o) 获取Entry的index
 

list=new ArrayList<Map.Entry<K,V>>(treeMap.entrySet());

------解决方案--------------------