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
呢?Javamap对象
TreeMap则提供了按照键进行排序的功能
LinkedHashMap,保留键的插入顺序
另外可以用compareTo或compare方法生成自己所想要键顺序
/**
* 输出:first:1
* second:2
* third:3
*/
public class TestTreeMap {
public static void main(String[] args) {
Map<String, Integer> m = new TreeMap<String, Integer>();
m.put("second", 2);
m.put("third", 3);
m.put("first", 1);
for (Object obj :m.keySet() )
{
System.out.println(obj+":"+m.get(obj));
}
}}package csdn.programbbs_525;import java.util.*;
/**
* 输出:
* second:2
* third:3
* first:1
*/
public class TestLinkedHashMap {
public static void main(String[] args) {
Map<String, Integer> m = new LinkedHashMap<String, Integer>();
m.put("second", 2);
m.put("third", 3);
m.put("first", 1);
for (Object obj :m.keySet() )
{
System.out.println(obj+":"+m.get(obj));
}
}
}