文章目录

  • 1.概述
  • 2.接口方法介绍
    • 2.1 comparator()
    • 2.2 subMap(K fromKey, K toKey)
    • 2.3 headMap(K toKey)
    • 2.4 tailMap(K fromKey)
    • 2.5 firstKey()
    • 2.6 lastKey()
    • 2.7 keySet();
    • 2.8 values()
    • 2.9 entrySet()

1.概述

定义了一个有序的Map接口,Java里有很多Map的实现类。其中TreeMap就是继承了这个接口。默认按照key值升序来构建。可以实现一个比较器,在初始化TreeMap的时候传入。

这个接口主要就是规定了实现一个有序Map的一些方法。

2.接口方法介绍

2.1 comparator()

实现类需要实现一个comparator()来返回比较器。说明需要通过这个比较器来构建一个有序的Map

2.2 subMap(K fromKey, K toKey)

因为是有序的树,所以可以根据两个key值返回在这两者之间的有序子Map,包含fromKey不包含toKey

实现类需要实现这个方法。

2.3 headMap(K toKey)

默认返回键小于toKey的Map集合,若比较器是按照大的排序,则返回键大于toKey的Map集合。

2.4 tailMap(K fromKey)

默认返回键大于等于fromKey的Map集合,若比较器是按照大的排序,则返回键小于等于toKey的Map集合。

2.5 firstKey()

返回排序中的第一个键

2.6 lastKey()

返回排序中的最后一个键

2.7 keySet();

按照key的顺序返回key集合

2.8 values()

按照key的顺序返回value集合

2.9 entrySet()

按照键的顺序,返回键值对结点集合。

JDK源码分析---SortedMap相关推荐

  1. 【JDK】JDK源码分析-HashMap(1)

    概述 HashMap 是 Java 开发中最常用的容器类之一,也是面试的常客.它其实就是前文「数据结构与算法笔记(二)」中「散列表」的实现,处理散列冲突用的是"链表法",并且在 J ...

  2. 【JDK】JDK源码分析-CountDownLatch

    概述 CountDownLatch 是并发包中的一个工具类,它的典型应用场景为:一个线程等待几个线程执行,待这几个线程结束后,该线程再继续执行. 简单起见,可以把它理解为一个倒数的计数器:初始值为线程 ...

  3. JDK源码分析(2)LinkedList

    JDK版本 LinkedList简介 LinkedList 是一个继承于AbstractSequentialList的双向链表.它也可以被当作堆栈.队列或双端队列进行操作. LinkedList 实现 ...

  4. 从源码分析SortedMap与NavigableMap

    从源码分析SortedMap与NavigableMap SortedMap 基本方法 NavigableMap 基本方法 SortedMap Map集合本身不具有排序的功能,SortedMap接口就提 ...

  5. StringBuffer类【JDK源码分析】

    StringBuffer类[JDK源码分析] 前言 推荐 说明 StringBuffer类 基本信息 属性 构造方法 部分方法 length capacity append insert revers ...

  6. JDK源码分析 NIO实现

    总列表:http://hg.openjdk.java.net/ 小版本:http://hg.openjdk.java.net/jdk8u jdk:http://hg.openjdk.java.net/ ...

  7. 【jdk源码分析】ArrayList的size()==0和isEmpty()

    先看结果 分析源码 [jdk源码解析]jdk8的ArrayList初始化长度为0 java的基本数据类型默认值 无参构造 size()方法 isEmpty()方法 转载于:https://www.cn ...

  8. jdk源码分析书籍 pdf_如何阅读源码?

    点击上方"IT牧场",选择"设为星标" 技术干货每日送达! 阅读源码是每个优秀开发工程师的必经之路,那么这篇文章就来讲解下为什么要阅读源码以及如何阅读源码. 首 ...

  9. jdk源码分析书籍 pdf_什么?Spring5 AOP 默认使用Cglib?从现象到源码深度分析

    推荐阅读: 阿里工作十年拿下P8,多亏了这些PDF陪我成长(Spring全家桶+源码解析+Redis实战等)​zhuanlan.zhihu.com 从入门到熟悉,一步一步带你了解 MySQL 中的「索 ...

最新文章

  1. 一图看懂新一代人工智能知识体系大全
  2. HDU 5289 Assignment(单调队列)
  3. 单片机程序下载方式ISP、IAP
  4. gdb加载python_gdb加载python脚本的方法
  5. Python爬取天气数据及可视化分析!
  6. 老歌新唱--使用VB6开发的ActiveX实现.NET程序的混淆加密
  7. 使用webpack打包ES6代码
  8. STM32学习第三课:STM32 c语言学习基础3(内存操作、指针、结构指针)
  9. /proc/sys/net/ipv4/目录介绍
  10. 计算机视觉和机器学习,代码,论文大全
  11. 【Python】numpy库和scipy库的安装与使用
  12. 区块链在图书馆中应用
  13. 升级 XPLite 中的 IE
  14. 魔域充值卡表cq_card里chk_sum参数的算法
  15. java基于微信小程序的在线作业提交批改系统 uniapp 小程序
  16. docker 部署 gitlab gitlab-runner 实现 CI
  17. 前端:3分钟实现一个共享桌面,还能听见麦克风声音哦
  18. EF系列(一)——深入框架底层
  19. cpu的核数和进程_CPU与核心及进程和线程认识
  20. iOS百度地图SDK之实时绘制轨迹(后台仍执行)

热门文章

  1. 浅谈java使用指定字符集编码,以及常见的字符集
  2. (完整版)英语常用词组大全(2000词以上)
  3. ucos II任务管理之一:挂起任务
  4. JLink的RTT使用
  5. Limitless牵手VR社交平台High Fidelity,提供交互角色创建技术
  6. php7安装(多个php版本共存)
  7. 5V降压1.8V芯片,稳压电路设计建议PW2059
  8. 85 数模 电动汽车目标客户销售策略研究(21 华数 C)
  9. Axure导入元件库的两种方式-附完整元件库
  10. 使用CSS实现悬停显示二维码