NavigableMap接口

public interface NavigableMap<K,V> extends SortedMap<K,V> {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/Elison_zlj/article/details/81489634
今日推荐