TreeSet に関する Java ソースを読みましたが、 TreeSet に Iterator の実装が見つかりません。Iterator が TreeSet でどのように実装されているか、また TreeSet のソース コードはどこにあるか教えてもらえますか? ありがとう!
質問する
627 次
1 に答える
1
ソースコードを見ると、次のように表示されTreeSet<E>.iterator()
ます。
public Iterator<E> iterator() {
return m.navigableKeySet().iterator();
}
次に の定義を検索しますm
。
private transient NavigableMap<E,Object> m;
したがって、 's JavaDocが次のように述べているためTreeSet
、NavigableMap
これは本当に驚くべきことではないことを明らかに示しています。TreeSet
に基づく
NavigableSet
実装TreeMap
。
では、 のソース コードを確認してみましょうTreeMap
。そこには、静的内部クラスであるというnavigableKeySet()
名前のメンバーを指す、上記で参照されたメソッドがあります。次に、メソッドなどを見つけます。クラスにはかなり多くの内部クラスが含まれており、全体の構造はかなり複雑ですが、興味がある場合は自分で整理できます。良いスタートを切ったと思います。navigableKeySet
TreeMap.KeySet<K>
iterator()
TreeMap
;-)
于 2013-02-16T17:54:00.700 に答える