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

java的map

import java.util.*;

public class Test
{
//@unchecked
public static void main(String[] args)
{
Map map = new HashMap();
map.put("First",1);
map.put("second",2);
map.put("third",3);
for (Object obj :map.keySet() )
{
System.out.println(obj+":"+map.get(obj));
}
}
}

结果却是:

second:2
First:1
third:3
为什么不是
First:1
second:2
third:3
呢?
Java map 对象

------解决方案--------------------
HashMap貌似本来就不是按照录入顺序排列的,而是哈希表
------解决方案--------------------
HashMap类是散列映射并不保证它的元素顺序
TreeMap则提供了按照键进行排序的功能
LinkedHashMap,保留键的插入顺序
另外可以用compareTo或compare方法生成自己所想要键顺序