我有这段非常简单的代码,我只是想在地图中玩一些不同类型的对象。
//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。