NavigableMap接口

public interface NavigableMap extends SortedMap {

    [可以看出是不允许null值的,否则返回null无法判断]

    //返回<特定key的Entry(最大),若无则返回null
    Map.Entry lowerEntry(K key);

    //返回<特定key的key(最大),若无则返回null
    K lowerKey(K key);

    //返回<=特定key的Entry(最大),若无则返回null
    Map.Entry floorEntry(K key);

    //返回<=特定key的key(最大),若无则返回null
    K floorKey(K key);

    //返回>=特定key的Entry(最小),若无则返回null
    Map.Entry ceilingEntry(K key);

    //返回>=特定key的key(最大),若无则返回null
    K ceilingKey(K key);

    //返回>特定key的Entry(最小),若无则返回null
    Map.Entry higherEntry(K key);

    //返回>特定key的key(最大),若无则返回null
    K higherKey(K key);

    //返回MIN的Entity,空Map则返回null
    Map.Entry firstEntry();

    //返回MAX的Entity,空Map则返回null
    Map.Entry lastEntry();

    //删除并返回MIN的Entity,空Map则返回null
    Map.Entry pollFirstEntry();

    //删除并返回MAX的Entity,空Map则返回null
    Map.Entry pollLastEntry();

    //返回逆序NavigableMap[即降序]
    //两者会操作同一份内存[除了迭代器的remove方法]都会使得另一方迭代结果不确定
    NavigableMap descendingMap();

    //返回升序的NavigableSet
    //两者会操作同一份内存[除了迭代器的remove方法]都会使得另一方迭代结果不确定
    NavigableSet navigableKeySet();

    //返回降序的NavigableSet
    //两者会操作同一份内存[除了迭代器的remove方法]都会使得另一方迭代结果不确定
    NavigableSet descendingKeySet();

    //返回部分Map(fromKey, toKey)
    //边界有两个boolean决定
    NavigableMap subMap(K fromKey, boolean fromInclusive,
                             K toKey,   boolean toInclusive);

    //返回部分Map[0, toKey)
    //边界有boolean决定
    NavigableMap headMap(K toKey, boolean inclusive);

    //返回部分Map(fromKey, )
    //边界有boolean决定
    NavigableMap tailMap(K fromKey, boolean inclusive);

    //返回部分Map[fromKey, toKey)
    SortedMap subMap(K fromKey, K toKey);

    //返回部分Map[0, toKey)
    SortedMap headMap(K toKey);

    //返回部分Map[fromKey, )
    SortedMap tailMap(K fromKey);
}

你可能感兴趣的:(数据结构)