首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java HashMap keySet()迭代顺序是否一致?

Java HashMap keySet()迭代顺序是否一致?
EN

Stack Overflow用户
提问于 2009-12-11 01:50:41
回答 12查看 75.4K关注 0票数 85

我知道从Map的keySet()方法返回的Set并不保证任何特定的顺序。

我的问题是,它能保证在多次迭代中保持相同的顺序吗?例如

代码语言:javascript
复制
Map<K,V> map = getMap();

for( K k : map.keySet() )
{
}

...

for( K k : map.keySet() )
{
}

在上面的代码中,假设映射是而不是 modified,那么keySets上的迭代是否会以相同的顺序进行。使用Sun的jdk15 it 以相同的顺序进行迭代,但在我讨论此行为之前,我想知道是否所有JDK都会执行相同的操作。

编辑

我从答案中看出我不能依赖它。太可惜了。我希望不用建立一些新的收藏来保证我的订单。我的代码需要遍历,执行一些逻辑,然后以相同的顺序再次遍历。我只需要从keySet创建一个新的ArrayList来保证顺序。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1882762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档