TreeSet に関する Java ソースを読みましたが、 TreeSet に Iterator の実装が見つかりません。Iterator が TreeSet でどのように実装されているか、また TreeSet のソース コードはどこにあるか教えてもらえますか? ありがとう!
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()名前のメンバーを指す、上記で参照されたメソッドがあります。次に、メソッドなどを見つけます。クラスにはかなり多くの内部クラスが含まれており、全体の構造はかなり複雑ですが、興味がある場合は自分で整理できます。良いスタートを切ったと思います。navigableKeySetTreeMap.KeySet<K>iterator()TreeMap;-)
于 2013-02-16T17:54:00.700 に答える