541

我正在使用一个HashMap. 当我遍历地图时,数据以(通常相同的)随机顺序返回。但是数据是按特定顺序插入的,我需要保留插入顺序。我怎样才能做到这一点?

4

2 回答 2

1175

LinkedHashMap正是您正在寻找的。

它与 完全一样HashMap,只是当您对其进行迭代时,它会按插入顺序显示项目。

于 2012-05-22T21:09:18.240 回答
73

HashMap根据文档的第二行是无序的:

此类不保证地图的顺序;特别是,它不保证订单会随着时间的推移保持不变。

也许您可以按照 aix 的建议进行操作并使用LinkedHashMap或其他有序集合。查看 javapractices.com 关于选择正确集合的指南。

于 2012-05-22T21:11:56.880 回答