Java 缺少包含(源代码)的 TreeSet 实现
Java's TreeSet implementation of contains (Sourcecode) missing
当我打开 TreeSet Class 的源代码时,有以下代码:
public boolean contains(Object o) {
return m.containsKey(o);
}
m 是一个 NavigableMap,它是一个接口。那么实现在哪里呢?肯定不在TreeSet本身。
来自 TreeSet
的来源:
TreeSet(NavigableMap<E,Object> m) {
this.m = m;
}
public TreeSet() {
this(new TreeMap<E,Object>());
}
所以 m
应该是 TreeMap
(或者可能是 NavigableMap
的另一个实现,如果同一个包中的另一个 class 调用了那个构造函数)。
当我打开 TreeSet Class 的源代码时,有以下代码:
public boolean contains(Object o) {
return m.containsKey(o);
}
m 是一个 NavigableMap,它是一个接口。那么实现在哪里呢?肯定不在TreeSet本身。
来自 TreeSet
的来源:
TreeSet(NavigableMap<E,Object> m) {
this.m = m;
}
public TreeSet() {
this(new TreeMap<E,Object>());
}
所以 m
应该是 TreeMap
(或者可能是 NavigableMap
的另一个实现,如果同一个包中的另一个 class 调用了那个构造函数)。