亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

精通 Java NavigableMap:特性、方法与 TreeMap 实现

Java NavigableMap 接口

本教程讲解 Java NavigableMap 接口、其核心方法及如何配合 TreeMap 使用。

NavigableMap 接口属于 Java 集合框架,提供跨 Map 条目的导航能力。它是 SortedMap 的特化,扩展其功能,支持高效的双向遍历。


实现 NavigableMap 的类

因 NavigableMap 是接口,无法直接实例化。主要实现是 TreeMap 类,提供自平衡二叉搜索树结构,维护键的排序顺序。

精通 Java NavigableMap:特性、方法与 TreeMap 实现


如何使用 NavigableMap

先导入接口:

import java.util.NavigableMap;
import java.util.TreeMap;

再创建实例:

// TreeMap 实现的 NavigableMap
NavigableMap<Key, Value> numbers = new TreeMap<>();

上述代码中,numbers 是存储键值对的 TreeMap。Key 为唯一标识符,Value 为关联数据。


NavigableMap 的核心方法

所有 SortedMap 操作均可用,但部分被重写以提供更精细控制。关键方法包括:

headMap(key, booleanInclusive)

返回键严格小于 key 的映射视图(booleanInclusive 为 false,默认)。若 booleanInclusive 为 true,返回视图包含 key 的条目。

tailMap(key, booleanInclusive)

返回键大于或等于 key 的映射视图(booleanInclusive 为 true,默认)。传 false 则排除 key 条目。

subMap(fromKey, fromInclusive, toKey, toInclusive)

提供 fromKey 与 toKey 之间的视图。默认 fromInclusive = true、toInclusive = false。调整标志控制边界键是否包含在结果 Map 中。


额外导航方法

官方规范请见 Java NavigableMap 文档。


TreeMap 实现示例

import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
    public static void main(String[] args) {
        // 使用 TreeMap 创建 NavigableMap
        NavigableMap<String, Integer> numbers = new TreeMap<>();
        // 插入元素
        numbers.put("Two", 2);
        numbers.put("One", 1);
        numbers.put("Three", 3);
        System.out.println("NavigableMap: " + numbers);
        // 获取首条目
        System.out.println("First Entry: " + numbers.firstEntry());
        // 获取尾条目
        System.out.println("Last Entry: " + numbers.lastEntry());
        // 移除首条目
        System.out.println("移除首条目: " + numbers.pollFirstEntry());
        // 移除尾条目
        System.out.println("移除尾条目: " + numbers.pollLastEntry());
    }
}

输出

NavigableMap: {One=1, Three=3, Two=2}
First Entry: One=1
Last Entry: Two=2
移除首条目: One=1
移除尾条目: Two=2

更多 TreeMap 信息请参阅 Java TreeMap 文档。


掌握 NavigableMap 接口及其 TreeMap 实现后,你能为 Java 应用构建高效、有序的数据结构。

java

  1. Java日志最佳实践:三大核心原则构建可观测的可靠代码
  2. 掌握 C# 接口:定义、实现与实战场景全解析
  3. 精通 Java 运算符:类型、语法与实战示例
  4. 精通 Java super 关键字:高级用法与实战示例
  5. 精通 Java 接口:概念、实现与最佳实践
  6. 精通 Java Try-With-Resources:自动资源管理详解
  7. Java Collection 接口:核心概念与常用方法
  8. 掌握 Java NavigableSet 接口:导航、排序与实战示例
  9. 掌握 Java Lambda 表达式:从基础到 Stream API 实战
  10. Java 接口 vs 抽象类:如何选择合适的抽象方式
  11. Java 接口全解析:定义契约、默认方法、多实现与标记接口
  12. Java 9 接口私有方法:增强封装与代码复用