@Test public void higher() { PersistentTreeMap<Integer, Integer> map = mapForRangeTest(); assertThat(map.higherEntry(0).getKey(), equalTo(1)); assertThat(map.higherEntry(1).getKey(), equalTo(3)); assertThat(map.higherEntry(2).getKey(), equalTo(3)); assertThat(map.higherEntry(3).getKey(), equalTo(5)); assertThat(map.higherEntry(4).getKey(), equalTo(5)); assertThat(map.higherEntry(5).getKey(), equalTo(7)); assertThat(map.higherEntry(6).getKey(), equalTo(7)); assertThat(map.higherEntry(7).getKey(), equalTo(9)); assertThat(map.higherEntry(8).getKey(), equalTo(9)); assertThat(map.higherEntry(9), nullValue()); assertThat(map.higherEntry(10), nullValue()); }
@Override public Entry<K, V> higherEntry(K key) { return higherNode(root, key); }
PersistentTreeMap extends AbstractTreeMap<K, V, PersistentTreeMap<K, V>> implements PersistentSortedMap<K, V> { @Override public Entry<K, V> higherEntry(K key) { return higherNode(root, key); } }
PersistentTreeMap extends AbstractTreeMap<K, V, PersistentTreeMap<K, V>> implements PersistentSortedMap<K, V> { @Override public Entry<K, V> higherEntry(K key) { return higherNode(root, key); } private  PersistentTreeMap(); private  PersistentTreeMap(Comparator<? super K> comparator);   PersistentTreeMap(Comparator<? super K> comparator, Node<K, V> root, int size); }
PersistentTreeMap extends AbstractTreeMap<K, V, PersistentTreeMap<K, V>> implements PersistentSortedMap<K, V> { @Override public Entry<K, V> higherEntry(K key) { return higherNode(root, key); } private  PersistentTreeMap(); private  PersistentTreeMap(Comparator<? super K> comparator);   PersistentTreeMap(Comparator<? super K> comparator, Node<K, V> root, int size); @SuppressWarnings("unchecked") static PersistentTreeMap<K, V> empty(); static PersistentTreeMap<K, V> empty(Comparator<? super K> comparator); @SuppressWarnings("unchecked") static PersistentTreeMap<K, V> copyOf(Map<? extends K, ? extends V> map); static PersistentTreeMap<K, V> of(); @SuppressWarnings("unchecked") static PersistentTreeMap<K, V> of(K k1, V v1); static PersistentTreeMap<K, V> of(K k1, V v1, K k2, V v2); static PersistentTreeMap<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3); @Override int size(); @Override MutableTreeMap<K, V> toMutableMap(); @Override Map<K, V> asMap(); @Override Entry<K, V> getFirstEntry(); @Override Entry<K, V> getLastEntry(); @Override Entry<K, V> higherEntry(K key); @Override Entry<K, V> ceilingEntry(K key); @Override Entry<K, V> lowerEntry(K key); @Override Entry<K, V> floorEntry(K key); @Override Spliterator<Entry<K, V>> spliterator(); Spliterator<K> keySpliterator(); Spliterator<V> valueSpliterator(); String toString(); }
PersistentTreeMap extends AbstractTreeMap<K, V, PersistentTreeMap<K, V>> implements PersistentSortedMap<K, V> { @Override public Entry<K, V> higherEntry(K key) { return higherNode(root, key); } private  PersistentTreeMap(); private  PersistentTreeMap(Comparator<? super K> comparator);   PersistentTreeMap(Comparator<? super K> comparator, Node<K, V> root, int size); @SuppressWarnings("unchecked") static PersistentTreeMap<K, V> empty(); static PersistentTreeMap<K, V> empty(Comparator<? super K> comparator); @SuppressWarnings("unchecked") static PersistentTreeMap<K, V> copyOf(Map<? extends K, ? extends V> map); static PersistentTreeMap<K, V> of(); @SuppressWarnings("unchecked") static PersistentTreeMap<K, V> of(K k1, V v1); static PersistentTreeMap<K, V> of(K k1, V v1, K k2, V v2); static PersistentTreeMap<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3); @Override int size(); @Override MutableTreeMap<K, V> toMutableMap(); @Override Map<K, V> asMap(); @Override Entry<K, V> getFirstEntry(); @Override Entry<K, V> getLastEntry(); @Override Entry<K, V> higherEntry(K key); @Override Entry<K, V> ceilingEntry(K key); @Override Entry<K, V> lowerEntry(K key); @Override Entry<K, V> floorEntry(K key); @Override Spliterator<Entry<K, V>> spliterator(); Spliterator<K> keySpliterator(); Spliterator<V> valueSpliterator(); String toString(); @SuppressWarnings("rawtypes")
    static final PersistentTreeMap EMPTY; }