本帖最后由 黑马刘杰 于 2013-2-25 18:29 编辑
我感觉你的测试值太小了,有可能hashCode在计算时hash表的长度大于你的最大值,所以hashCode计算完在hash表中存储的都是你输入的值,而不是对hash表长度取摸的值,如果让Integer值足够大的话就不会出现这种问题了。- // 创建Map集合,并添加元素
- Map<Integer, String> map = new HashMap<Integer, String>();
- // 无序加入
- map.put(10000, "zhangsan");
- map.put(6, "lisi");
- map.put(1456, "wangwu");
- map.put(22342, "heihei");
- map.put(325, "xixi");
- map.put(3654, "xxx");
- // 打印元素
- sop("原集合:" + map);//原集合:{1456=wangwu, 325=xixi, 6=lisi, 22342=heihei, 10000=zhangsan, 3654=xxx}
复制代码 一句话,就是你的测试值key键的值太小了 |