日期:2014-05-20  浏览次数:20778 次

怎么获取Map集合中元素的hashCode?
本帖最后由 kangmiao89757 于 2013-06-27 14:57:57 编辑
问题是这样的,我往Map集合中添加元素,打印的时候一直是同一个顺序,我知道HashMap是哈希表结构的,我就像知道里边的元素在打印的时候是不是根据hash值的自然顺序打印出来的?我怎么利用Map中hashCode方法获取元素的Hash值?
如下面代码:
    Map m = new HashMap();
   m.put("a", 53); 
   m.put("b", 23);
   m.put("d", 53);
   m.put("c", 33);

打印的结果都是[d=53, b=23, c=33, a=53] 这样的顺序,想知道排序的具体hash值,是只取键的还是值的?
还是两映射关系的?hash值怎么获取?是按照hash值的自然排序吗?
hashcode HashMap

------解决方案--------------------
引用:
Quote: 引用:

按添加顺序排序用LinkedHashMap

我是想知道怎么获取Map集合中元素的hashCode,谢谢!


这个需要读源代码,可以参考http://alex09.iteye.com/blog/539545