尽管文档明确指出LinkedHashMap和LinkedHashSet都维护了一个穿过所有条目的双向链表,但我不明白为什么这些实现不返回ListIterator以进行前后导航。有人了解底层的限制吗?
你不能直接迭代键/值对的数据结构,因为它不是一个集合。即使在内部有一个双向链表来记住插入顺序,你仍然必须按标准方式获取迭代器。
这些数据结构上有返回键、值或条目(键+值)集合的方法:keySet()
、values()
、entrySet()
,你可以从中获取迭代器。
也许你想要的是 map.entrySet().iterator()
,虽然我同意这是一个集合,而且顺序在技术上是未指定的...