我读了关于TreeSet的java源代码,但是我在TreeSet中找不到Iterator的实现。任何人都可以告诉我Iterator如何在TreeSet中实现,并且TreeSet中的源代码在哪里?谢谢!Iterator如何在TreeSet中实现
0
A
回答
0
好吧,如果你看看TreeSet<E>.iterator()
的源代码,您会看到:
public Iterator<E> iterator() {
return m.navigableKeySet().iterator();
}
为m
定义下一个搜索:
private transient NavigableMap<E,Object> m;
所以很明显TreeSet
指向NavigableMap
这是不真是一个惊喜,因为TreeSet
's JavaDoc说:
A
NavigableSet
实施依据TreeMap
。
好的,让我们检查TreeMap
的源代码。在那里,您会找到上面引用的方法navigableKeySet()
,指向一个名为navigableKeySet
的成员,该成员的类型为TreeMap.KeySet<K>
,这是一个静态内部类。反过来,你会发现一个iterator()
方法等等。 TreeMap
类包含相当多的内部类,整个结构非常复杂,但如果你感兴趣,你可以自行整理。我想我给了你一个好头。 ;-)
+0
感谢您的回答。 –
相关问题
- 1. 如何在Java中实现TreeSet?
- 2. 实现std :: iterator
- 3. iterator for doublylinkedlist,如何实现next(),remove()?
- 4. 如何实现列表<T> :: iterator?
- 5. 如何实现operator-> for iterator类型?
- 6. 在java中实现我自己的treeset
- 7. 在链表类中实现Iterator接口
- 8. 如何在java中的sinlgly linkedlist iterator中实现hasNext方法?
- 9. Iterable&Iterator实现问题(JAVA)
- 10. Java中的单链表实现Iterator
- 11. TreeSet内部使用TreeMap,所以需要在使用Treeset时实现Hashcode方法
- 12. AbstractCollection为什么不实现iterator()?
- 13. 如何模拟一个使用PHPUnit实现Iterator接口的类?
- 14. 在Java中实现我自己的树Iterator
- 15. 在同一个类中实现Java Iterator和Iterable?
- 16. 如何用iterator
- 17. 如何在Delphi中实现XIRR实现?
- 18. 如果我们不知道Container类型元素的类型,如何实现Iterator?
- 19. 如何使用现有HashSet和其中的数据创建TreeSet?
- 20. 如何反转TreeSet实例中数据的顺序?
- 21. 为什么我们不实现Iterator的所有函数来实现迭代器?
- 22. 有没有办法在对象上foreach哪个类在PHP中实现Iterator?
- 23. 在JavaScript中如何实现?
- 24. 如何在Java中实现
- 25. 如何在PHP中实现
- 26. 如何在ASP.NET中实现
- 27. 如何在JNI中实现
- 28. 如何在OOP中实现?
- 29. 如何在Java中实现
- 30. 如何在JavaScript中实现?
我知道这个是旧的,但仍列为未答复。如果看起来合适,请您接受并提出我的答案吗?谢谢。 – kriegaex