Map map = new LinkedHashMap();
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
map.put(i, j);
}
}
// 打印Map集合的值
for (Object obj : map.keySet()) {
Integer key = (Integer) obj;
Integer values = (Integer) map.get(key);
System.out.println(key + " = " + values);
}
但是结果却是:
0 = 9
1 = 9
2 = 9
3 = 9
4 = 9
5 = 9
6 = 9
7 = 9
8 = 9
9 = 9
为什么不是:
0 = 0
0 = 1
...
9 = 8
9 = 9
有点想不明白??求指点。。

java
------解决方案--------------------
就应该是这样,Map<Key,Value> Key是不可以重复的,你那么塞,你们的循环最后都只剩下9
下面是其API解释
An object that maps keys to values.
A map cannot contain duplicate keys;
each key can map to at most one value.
------解决方案--------------------
Map的结构是通过key去找value的,你的循环确实运行了100此,但是(0,1)会把(0,0)覆盖;(0,2)会把(0,1)覆盖.....(0,9)会把(0,8)覆盖,其他的以此类推,所以最后只有10个(key,value)对,而不是100
------解决方案--------------------
虽然Map是键值对,通常我都会拿来放更复杂的数据例如
<key,<key,value>> 或是 <key,ArrayList>
不知道LZ是不是想做成下面这样
{0,[0,1,2,3,4,5,6,7,8,9]}
{1,[0,1,2,3,4,5,6,7,8,9]}
但还是直接像上面说的用数组就可以
------解决方案--------------------
只能是Key不同了
map.put(i+ "" +j, j);