首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无ListIterator in LinkedHashMap和LinkedHashSet

无ListIterator in LinkedHashMap和LinkedHashSet
EN

Stack Overflow用户
提问于 2014-10-09 11:17:56
回答 2查看 822关注 0票数 3

虽然文档明确指出,LinkedHashMap和LinkedHashSet都是

维护一个通过其所有条目运行的双链接列表。

我不明白为什么这些实现不返回一个ListIterator来导航下一个和上一个。有人知道引擎盖下的局限性吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-09 11:37:45

ListIterator打开了“在迭代器当前位置”插入它们的可能性。但这打破了LinkedHashMap/Set本身的命令,因为他们的合同规定,列表顺序将严格等同于插入顺序。

票数 5
EN

Stack Overflow用户

发布于 2014-10-09 11:23:47

不能直接迭代键/值对的数据结构,这不是集合。即使在内部有一个双链接列表来记住插入顺序,您仍然必须以标准的方式获得迭代器。

在这些数据结构上有一些方法可以返回键、值或条目(key+value)的集合:keySet()values()entrySet(),您可以从这些方法中获得迭代器。

也许你想要的是map.entrySet().iterator()在这里,虽然我同意这是一个集合,而且订单技术上没有具体说明.

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

https://stackoverflow.com/questions/26277042

复制
相关文章

相似问题

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