treemap有一个方法,tailmap来获取一个sortedmap,其key不小于fromkey。 在跟踪源代码之后,我发现tailmap在NavigableSubMap的constuct方法中完成了工作。 这是代码。
NavigableSubMap(TreeMap<K,V> m,
boolean fromStart, K lo, boolean loInclusive,
boolean toEnd, K hi, boolean hiInclusive) {
if (!fromStart && !toEnd) {
if (m.compare(lo, hi) > 0)
throw new IllegalArgumentException("fromKey > toKey");
} else {
if (!fromStart) // type check
m.compare(lo, lo);
if (!toEnd)
m.compare(hi, hi);
}
this.m = m;
this.fromStart = fromStart;
this.lo = lo;
this.loInclusive = loInclusive;
this.toEnd = toEnd;
this.hi = hi;
this.hiInclusive = hiInclusive;
}
此步骤之后.toEnd = toEnd; NavigableSubMap类具有尾部映射。 它是如何完成的?