Java NavigableMap 接口 2022-02-19 12:00 10189阅读 1赞 # Java NavigableMap 接口 Java 集合框架的`NavigableMap`接口提供了在地图条目之间导航的功能。 它被认为是SortedMap的一种。 ------ ## 实现 NavigableMap 的类 由于`NavigableMap`是一个接口,我们不能从它创建对象。 为了使用`NavigableMap`接口的功能,我们需要使用`TreeMap`实现的类`NavigableMap`。  ------ ## 如何使用导航地图? 在 Java 中,我们必须导入`java.util.NavigableMap`要使用的包`NavigableMap`。导入包后,以下是创建可导航地图的方法。 ``` // NavigableMap implementation by TreeMap class 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的实现 ``` import java.util.NavigableMap; import java.util.TreeMap; class Main { public static void main(String[] args) { // Creating NavigableMap using TreeMap NavigableMap<String, Integer> numbers = new TreeMap<>(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " + numbers); // Access the first entry of the map System.out.println("First Entry: " + numbers.firstEntry()); // Access the last entry of the map System.out.println("Last Entry: " + numbers.lastEntry()); // Remove the first entry from the map System.out.println("Removed First Entry: " + numbers.pollFirstEntry()); // Remove the last entry from the map System.out.println("Removed Last Entry: " + numbers.pollLastEntry()); } } ``` **输出** ``` NavigableMap:{一=1,三=3,二=2} 第一个条目:一个=1 最后一个条目:两个=2 删除第一个条目:一个=1 删除最后一个条目:两个=2 ``` 文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。
相关 NavigableMap与NavigableSet Java集合框架(JavaCollections Framework)加入了一个新的NavigableMap和NavigableSet接口——可导航的Map和集合。分别的扩展了 向右看齐/ 2021年06月24日 14:37/ 0 赞/ 290 阅读
相关 java -接口 接口概念:类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,他只规定这些类必须提供某些方法 接口定义的基本 偏执的太偏执、/ 2021年09月16日 14:16/ 0 赞/ 592 阅读
相关 Java中的Map【三】NavigableMap接口 所使用的jdk版本为1.8版本,先看一下NavigableMap<K,V>在JDK中Map的UML类图中的位置: ![watermark_type_ZmFuZ3 一时失言乱红尘/ 2021年09月20日 23:14/ 0 赞/ 402 阅读
相关 Java NavigableMap 接口 Java NavigableMap 接口 Java 集合框架的NavigableMap接口提供了在地图条目之间导航的功能。 它被认为是SortedMap的一种。 实现... 朱雀/ 2022年02月19日 12:00/ 1 赞/ 10190 阅读
相关 Java接口 接口 -------------------- 接口是一种更加纯粹的,完全的抽象类,接口中的方法都是抽象的 并且接口不能实例化,位于继承层次中的顶层 拼搏现实的明天。/ 2022年03月30日 07:01/ 0 赞/ 423 阅读
相关 【Java】Java接口 文章目录 一.Java接口是什么 二、接口的定义 三、接口的实现 四 、接口的特点 五、什么时候使用接口和抽象类 六、接口的深度解析 Bertha 。/ 2022年04月16日 04:00/ 0 赞/ 410 阅读
相关 java 接口 接口: 接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。 一个类通过继承接口的方式,从而来继 心已赠人/ 2022年04月18日 01:33/ 0 赞/ 412 阅读
相关 Java集合之NavigableMap与NavigableSet接口 本文接着上篇介绍SortedMap和SortedSet接口,介绍他们的扩展接口NavigableMap与NavigableSet接口, 提供了针对给定搜索目标返回最接近匹 一时失言乱红尘/ 2022年12月14日 09:08/ 0 赞/ 87 阅读
相关 Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象... 灰太狼/ 2020年05月21日 16:04/ 0 赞/ 1895 阅读
还没有评论,来说两句吧...