我有可以在1.4
和1.6
上运行的应用程序。以1.6
版本打印的元素顺序与1.4
不同。我使用LinkedHashMap
解决了这个问题。现在,此顺序与1.4
完全相同。除了下载整个jdk之外,我没有找到1.4
的HashMap
源代码。除了通用版本在新版本中有所更改以外?
最佳答案
从来没有保证HashMap
中元素的迭代顺序,因此实现可以随意更改它。 LinkedHashMap
已纠正了此缺点。
这种变化可能是由例如complete revamping of the hashing algorithm in Java 1.4.1 ...但是,同样,在将项目迁移到Java6时,我们也注意到了这一变化,因此该版本也有所变化。