我有一段非常简单的代码,而我只是想在Map中玩一些不同种类的对象。
//There's a bit of spanish, sorry about that
//just think 'persona1' as an object with
//a string and an int
Map mapa = new HashMap();
mapa.put('c', 12850);
mapa.put(38.6, 386540);
mapa.put("Andrés", 238761);
mapa.put(14, "Valor de 14");
mapa.put("p1", persona1);
mapa.put("Andrea", 34500);
System.out.println(mapa.toString());
然后,我希望从控制台获得如下信息:
{c=12850, 38.6=386540, Andrés=238761, 14=Valor de 14, p1={nombre: Andres Perea, edad: 10}, Andrea=34500}
但令人惊讶的是,我以不同的顺序获得了相同的数据:
{38.6=386540, Andrés=238761, c=12850, p1={nombre: Andres Perea, edad: 10}, Andrea=34500, 14=Valor de 14}
我尝试其他类型的对象(甚至只是字符串或数字类型)都没关系,它总是一样,没有明显的意义,却产生了不同的顺序。
有人可以给我提示为什么会这样吗?还是我想念的东西太明显了?
我正在使用Java 1.7和Eclipse Juno。
最佳答案
根据Oracle文档
请参阅HashMap JavaDocs。