NavigableMap接口

本文深入解析NavigableMap接口,探讨其作为SortedMap扩展的高级功能,包括导航、搜索、子映射创建等方法,适用于Java集合框架的有序映射场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值