我有可以在1.41.6上运行的应用程序。以1.6版本打印的元素顺序与1.4不同。我使用LinkedHashMap解决了这个问题。现在,此顺序与1.4完全相同。除了下载整个jdk之外,我没有找到1.4HashMap源代码。除了通用版本在新版本中有所更改以外?

最佳答案

从来没有保证HashMap中元素的迭代顺序,因此实现可以随意更改它。 LinkedHashMap已纠正了此缺点。

这种变化可能是由例如complete revamping of the hashing algorithm in Java 1.4.1 ...但是,同样,在将项目迁移到Java6时,我们也注意到了这一变化,因此该版本也有所变化。

07-28 13:27