我正在使用HashMap。当我遍历映射时,数据以(通常相同的)随机顺序返回。但是数据是按特定顺序插入的,我需要保留插入顺序。我该怎么做呢?


当前回答

HashMap在文档的第二行中是无序的:

这个类不保证映射的顺序;特别是,它不能保证顺序随时间保持不变。

也许您可以按照aix的建议,使用LinkedHashMap或另一个有序集合。看看javapractices.com关于选择正确收藏的指南。

其他回答

HashMap在文档的第二行中是无序的:

这个类不保证映射的顺序;特别是,它不能保证顺序随时间保持不变。

也许您可以按照aix的建议,使用LinkedHashMap或另一个有序集合。看看javapractices.com关于选择正确收藏的指南。

LinkedHashMap正是你要找的。

它与HashMap完全相似,不同之处在于,在遍历它时,它按插入顺序显示条目。