Java NavigableMap 接口

原创 朱雀 2022-02-19 12:00 15539阅读 1赞

Java NavigableMap 接口

Java 集合框架的NavigableMap接口提供了在地图条目之间导航的功能。

它被认为是SortedMap的一种。


实现 NavigableMap 的类

由于NavigableMap是一个接口,我们不能从它创建对象。

为了使用NavigableMap接口的功能,我们需要使用TreeMap实现的类NavigableMap

Java TreeMap 类实现了Java NavigableMap 接口。


如何使用导航地图?

在 Java 中,我们必须导入java.util.NavigableMap要使用的包NavigableMap。导入包后,以下是创建可导航地图的方法。

  1. // NavigableMap implementation by TreeMap class
  2. NavigableMap<Key, Value> numbers = new TreeMap<>();

在上面的代码中,我们创建了一个导航地图,命名为数字类的TreeMap

这里,

  • 钥匙- 用于关联地图中每个元素(值)的唯一标识符
  • 价值- 由地图中的键关联的元素

NavigableMap 的方法

NavigableMap认为是 的一种SortedMap。这是因为NavigableMap扩展了SortedMap接口。

因此,所有SortedMap方法在NavigableMap. 要了解这些方法在 中是如何定义的SortedMap

但是,SortedMap( headMap()tailMap()subMap()) 的某些方法在 中的定义不同NavigableMap

让我们看看这些方法是如何在NavigableMap.


头映射(键,布尔值)

headMap()方法返回与指定之前的所有键关联的可导航地图的所有条目钥匙(作为参数传递)。

这布尔值是一个可选参数。它的默认值为false.

如果true作为布尔值,该方法返回与指定之前的所有这些键关联的所有条目钥匙,包括与指定关联的条目钥匙.


tailMap(键,布尔值)

tailMap()方法返回与指定后的所有键关联的可导航地图的所有条目钥匙(作为参数传递)包括与指定关联的条目钥匙.

这布尔值是一个可选参数。它的默认值为true.

如果false作为布尔值,该方法返回指定后与这些键关联的所有条目钥匙,不包括与指定关联的条目钥匙.


子图(k1,bv1,k2,bv2)

subMap()方法返回与之间的键关联的所有条目k1和k2包括与相关的条目k1.

这BV1和bv2是可选参数。默认值为BV1为真,默认值为bv2是false

如果false传递为BV1,该方法返回与之间的键关联的所有条目k1和k2,不包括与k1.

如果true传递为bv2,该方法返回与之间的键关联的所有条目k1和k2,包括与关联的条目k1.


其他方法

提供NavigableMap了各种可用于定位地图条目的方法。

  • descendingMap() - 反转地图中条目的顺序
  • descendingKeyMap() - 反转映射中键的顺序
  • ceilingEntry() - 返回所有键大于或等于指定键的所有条目中键最小的条目
  • ceilingKey() - 返回那些大于或等于指定键的键中最低的键
  • floorEntry() - 返回键小于或等于指定键的所有条目中键最高的条目
  • floorKey() - 返回小于或等于指定键的键中的最高键
  • highEntry() - 返回所有键大于指定键的条目中键最小的条目
  • highKey() - 返回大于指定键的键中最小的键
  • lowerEntry() - 返回键小于指定键的所有条目中键最高的条目
  • lowerKey() - 返回小于指定键的键中的最高键
  • firstEntry() - 返回地图的第一个条目(具有最低键的条目)
  • lastEntry() - 返回地图的最后一个条目(具有最高键的条目)
  • pollFirstEntry() - 返回并删除地图的第一个条目
  • pollLastEntry() - 返回并删除地图的最后一个条目

TreeMap类中NavigableMap的实现

  1. import java.util.NavigableMap;
  2. import java.util.TreeMap;
  3. class Main {
  4. public static void main(String[] args) {
  5. // Creating NavigableMap using TreeMap
  6. NavigableMap<String, Integer> numbers = new TreeMap<>();
  7. // Insert elements to map
  8. numbers.put("Two", 2);
  9. numbers.put("One", 1);
  10. numbers.put("Three", 3);
  11. System.out.println("NavigableMap: " + numbers);
  12. // Access the first entry of the map
  13. System.out.println("First Entry: " + numbers.firstEntry());
  14. // Access the last entry of the map
  15. System.out.println("Last Entry: " + numbers.lastEntry());
  16. // Remove the first entry from the map
  17. System.out.println("Removed First Entry: " + numbers.pollFirstEntry());
  18. // Remove the last entry from the map
  19. System.out.println("Removed Last Entry: " + numbers.pollLastEntry());
  20. }
  21. }

输出

  1. NavigableMap:{一=1,三=3,二=2}
  2. 第一个条目:一个=1
  3. 最后一个条目:两个=2
  4. 删除第一个条目:一个=1
  5. 删除最后一个条目:两个=2
文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,15539人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java接口

    接口中,我们需要注意以下几点: 接口中的所有方法自动地属于 public。 因此,在接口中声明方法时,不必提供关键字public  接口绝不能含有实例域, 在 JavaSE

    相关 java 接口

    接口: 接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。 一个类通过继承接口的方式,从而来继

    相关 Java接口

    接口 -------------------- 接口是一种更加纯粹的,完全的抽象类,接口中的方法都是抽象的 并且接口不能实例化,位于继承层次中的顶层

    相关 Java NavigableMap 接口

    Java NavigableMap 接口 Java 集合框架的NavigableMap接口提供了在地图条目之间导航的功能。 它被认为是SortedMap的一种。 实现...

    相关 java -接口

    接口概念:类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,他只规定这些类必须提供某些方法 接口定义的基本

    相关 Java 接口

    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象...