可导航的Map和集合 NavigableMap and NavigableSet Java集合框架(Java Collections Framework)加入了一个新的NavigableMap和NavigableSet接口。分别的扩展了SortedMap和SortedSet接口,本质上添加了搜索选项到接口。 NavigableMap接口 对于NavigableMap,有3个方法的集合。其中一个方法集合用于获取子Map,另一个集合用于获取Map Entity,最后一个用于设置Map键关联的工作。 在 第一个集合中存在3个方法。首先,navigableHeadMap(toKey)返回一个包含所有的键的NavigableMap,但是不包括 toKey,有一个返回带有所有键的NavigableMap的方法navigableTailMap(fromKey),从fromKey开始的,一直 到最后一个键的内容。最后,是一个naviagbleSubMap(fromKey,toKey)方法,返回一NavigableMap,从 fromKey开始,结束于toKey(这里是一个半开半闭区间[startKey,endKey))。感官上,这些方法与SortedMap的 headMap()、tailMap()和subMap()方法相同,但是返回不一样的类型,而不是上面提到的NavigableMap。 这里的第二个方法的集合是和Map的键有关的。对于SortedMap,你有firstKey()和lastKey()来获取某个Map的边界键值。NavigableMap有一些获取键的其他方法:
第三个方法的集合可能是最有用的。当需要使用到SortedMap或者Map实例的时候,一般来说,你将获得键和获得对应的值。最后的方法的集合一般都是返回Map。实体实例取代了键。因此,你不必要去进行第二次查找操作。所以,这里有6个方法来操控第二个集合:
这里有两个单步从Map获取和删除实体的方法。提供了一个简单的不用使用迭代器而遍历所有Map元素的方法。下面是具体的介绍:
另外还有两个值得起到的NavigableMap方法:descendingKeySet()和descendingEntrySet()。keySet()和entrySet()返回的是升序的键的集合,而新的NavigableMap方法是以降序进行工作的。 在Java 6中,这里有两个NavigableMap接口的实现。旧的TreeMap被从NavigableMap中继承而不是原来的SortedMap。另外,一 个该接口的并发的版本现在可以在ConcurrentSkipListMap类中找到。可能你并不熟悉skiplist,它们是一种排序过的链接,使用了 并行链表提高了搜索的速度。但TreeMap的结构是平衡的,并且粗略的从链表中寻找一个键,ConcurrentSkipListMap一直都是从最前 面开始,但是由于副skip list的作用,搜索的效果很接近于二分查找。 下面是一个具体例子,仅供参考: import java.util.NavigableMap; public static void main(String[] args) { 输出结果: First key: aaa First entry: aaa=111 NavigableSet接口 NavigableSet 工作类似于NavigableMap,但是没有键值对。在NavigableMap中的3组方法,这里有其中的两组。你可以可以获取一个可导航的子集,带 有navigableHeadSet(toElement), navigableSubSet(fromElement, toElement), 和 navigableTailSet(E fromElement)方法。或者你可以获得特定的元素,通过ceiling(element), floor(element), higher(element), 和lower(element)方法。你也可以获取或删除元素,通过pollFirst()和pollLast()方法,升序的迭代 descendingIterator()补充了iterator()。 在表面之下,CouncurrentSkipListSet使用ConcurrentSkipListSet来完成所有的工作。
|
相关推荐
Mission Planner连接Autopilot保姆级教程:从USB到无线全搞定
本文提供Mission Planner连接Autopilot的全面指南,涵盖USB直连、无线数传、蓝牙适配等多种连接方案。详细讲解驱动安装、波特率匹配、性能优化等关键步骤,并分享多链路冗余配置与故障转移的高阶技巧,助你快速解决连接问题。
SortedMap、NavigableMap、TreeMap介绍和使用
SortedMap接口:SortedMap是一个接口,继承自Map接口,它定义了对键值对按照键的自然顺序或自定义顺序进行排序的功能。SortedMap中的键值对是按照键的顺序排列的,因此可以根据键的顺序进行范围查找和遍历操作。SortedMap接口提供了一系列的导航方法和有序操作方法。 NavigableMap接口:NavigableMap是SortedMap接口的子接口,它在SortedMap的基础上增加了一些额外的导航方法,使得对有序键值对的操作更加方便和灵活。
视觉定位避坑指南:基于双mark点的坐标转换常见错误排查
本文详细解析了工业视觉项目中基于双mark点的坐标转换常见错误及排查方法,涵盖旋转矩阵构建、坐标系原点选择、图像预处理优化等关键环节。通过实战案例和代码示例,帮助工程师避免定位偏差,提升系统精度,特别适用于自动化检测和精密制造场景。
NavigableMap
1. NavigableMap 继承自 SortedMap,所以它的元素是有序的。 2. 在 SortedMap 基础上,支持快速搜索符合条件的最近的元素。这里条件主要是指lower(>),floor(>=),ceiling(<),higher(>)。 3. 支持逆序访问。descendingKeySet /descendingMap。 4. 支持获取子集合...
PCB之AD层次化原理图设计
PCB之AD层次化(模块化)原理图设计 软件版本:AD17.1.9(bBuild 592) 先上效果图: 可以看到,图中有RS485和W5500这两个部分是复用了原理图,当项目中需要多个功能相同的电路时,这种设计就可以大大节约PCB布局布线的时间,方法后面介绍; 1.首先确定好项目中个部分电路的功能模块 不同功能的电路分开不同原理图画,然后给出输入输出端口,这样方便复用,下面是实例项目的功能划分 2.单个模块电路的接口设计 这里以W5500以太网接口电路为例说明: 主要就分为通讯接口和电源接口:
从URDF到Gazebo:一个完整的ROS2机械臂仿真与运动控制实战指南
本文提供了一个完整的ROS2机械臂仿真与运动控制实战指南。详细讲解了从URDF建模、ROS2 Control配置到Gazebo物理仿真的全流程,重点介绍了如何利用MoveIt2快速搭建高级运动规划系统,并解决实际部署中的常见问题,帮助开发者高效、安全地进行机器人算法验证与开发。
Java中的Map【三】NavigableMap接口
所使用的jdk版本为1.8版本,先看一下NavigableMap<K,V>在JDK中Map的UML类图中的位置: 2.1.3NavigableMap接口 接口NavigableMap<K,V> extends SortedMap<K,V>,是一个扩展的SortedMap,在继承SortedMap接口的基础之上,扩展了一些返...
物料主数据管理难在哪?基于AI算法的数据清洗工具了解一下
企企通打造的一套以AI模型和算法为核心的产品及服务,可针对各类企业的不同主数据痛点难点,提供多种解决方案,能够快速完成物料主数据清洗、识别、匹配、梳理,满足一物一码、分类梳理、一品多商、多维度比价、精准寻源选品、建立标准物料库、供应商及客户主数据清洗等业务场景需求。随着AI技术的快速发展,智能算法在数据清洗领域的应用越来越广泛,越来越多的数据清洗工作已经开始交由智能算法完成,通过自动化的方式处理大量数据,识别和纠正错误,填补缺失值,检测异常值,以及执行其他数据预处理任务,并提高效率并减少人为错误。
NavigableMap接口
NavigableMap接口第1部分 NavigableMap接口介绍第2部分 NavigableMap接口数据结构第3部分 NavigableMap接口源码解析(基于JDK-8u201) 第1部分 NavigableMap接口介绍 NavigableMap接口简介 1 2 NavigableMap接口常用API 修饰语和返回类型 方法 描述 Iterator<T> i...
基于RTL8370N的8口千兆无管理交换机硬件设计
无管理交换机是局域网边缘接入的核心基础设备,其本质是通过硬件状态机实现MAC地址学习、线速转发与自动协商,无需软件配置即可完成即插即用组网。原理上依赖高度集成的PHY+交换矩阵单芯片(如RTL8370N),结合确定性硬件逻辑替代MCU固件,保障低延迟、高可靠与零运维。技术价值体现在成本压缩、体积精简与部署极简化,广泛应用于家庭网络扩展、工业现场设备联网及嵌入式系统桥接等场景。本文详解一款基于RTL8370N的紧凑型8端口千兆无管理交换机,覆盖芯片选型依据、PHY接口设计、电源与散热优化等关键工程实践。
【Python3教程】Python3高级篇之uWSGI 安装配置
本文介绍了在Python 3环境中安装和配置uWSGI的完整流程,涵盖基本安装、Flask/Django应用部署、Nginx集成以及systemd管理等关键环节。主要内容包括:uWSGI的安装前提条件,创建简单WSGI应用,编写uWSGI配置文件(.ini格式),与Nginx配合实现生产环境部署,以及使用systemd实现服务管理。文章还提供了常见Web框架(Flask、Django)的部署示例和高级配置建议,如负载均衡、HTTPS设置等。最后列出了权限、端口占用等常见问题的解决方案,为开发者提供了一套完整
Java NavigableMap接口总结 有序Map接口SortedMap接口的扩展
NavigableMap接口源码重点 NavigableMap接口继承自SortedMap接口,提供有序Map接口的扩展,提供了更为细致的导航方法,SortedMap源码可以看我这篇文章 SortedMap SortedMap接口继承自Map接口,所以NavigableMap接口也可以说是一种Map接口 NavigableMap接口提供了四类方法分别是 根据给定键key查找集合Map中的键 根据给定键key查找集合Map中的键值对Entry 获取集合Map中的键最小或最大的键值对 有序Map集合处理方法
【AI 赋能:Python 人工智能应用实战】16. BERT微调实战:中文新闻分类全流程(附模型蒸馏+ONNX部署完整代码)
中文新闻分类是NLP领域的经典实用任务,BERT模型凭借双向上下文建模能力,能有效解决中文歧义与长文本依赖问题,但存在推理速度慢、资源占用高的痛点。本文以THUCNews中文新闻数据集为核心,提供从数据预处理、BERT微调、模型蒸馏到生产部署的全流程实操指南。首先详解THUCNews的多编码读取与清洗(解决gbk/utf-8兼容问题);然后实现BERT微调,加入早停机制与混淆矩阵可视化,验证准确率达93.8%;接着用DistilBERT完成模型蒸馏,在仅损失0.6%准确率的前提下,将推理速度提升2.7倍。
Java集合之NavigableMap与NavigableSet接口
author:lidx 本文接着上篇介绍SortedMap和SortedSet接口,介绍他们的扩展接口NavigableMap与NavigableSet接口, 提供了针对给定搜索目标返回最接近匹配项的导航方法。 SortedMap和SortedSet接口两个接口jdk1.2就已经提供,扩展的NavigableMap与NavigableSet接口jdk1.6才开始支持。 1....
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
如何使用Java 6的NavigableSet和NavigableMap
您可以使用最新的Java 6的Collection API来导航集合和Map集合。 这些API提供了很大的灵活性,可以从集合中查找所需的结果。 1. NavigableMap示例 package com.example.collection; import java.util.NavigableMap; import java.util.TreeMap; public class N...
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
Core Java (二十四) SortedMap,NavigableMap,SortedSet,NavigableSet接口
SortedMap接口 根据比较器进行排序,是一个有序映射表。 ComparatorK> comparator() Returns the comparator used to order the keys in this map, or null if this map uses the natural ordering of its keys.
java.util.NavigableSet和NavigableMap
java.util.NavigableSet和NavigableMap
java 中具有导航(navigate)功能的接口(NavigableSet和NavigableMap)的使用说明和对比
java 中具有导航(navigate)功能的接口(NavigableSet和NavigableMap)的使用说明和对比
TreeSet、NavigableMap、NavigableSet源码
TreeSet是一个有序的Set集合。既然是有序,那么它是靠什么来维持顺序的呢,回忆一下TreeMap中是怎么比较两个key大小的,是通过一个比较器Comparator对不对,不过遗憾的是,今天仍然不会讲Comparator,但是需要明白的是TreeSet要实现信息也必须依靠于Comparator接口。 关于Set,在前面我们讲过一个HashSet,是不是想起了什么,Set和Map在java中是...
Java 集合中获取数据的前驱和后继元素
在 Java 中,如果需要获取某个数据的下一个或上一个数据,可以使用实现了 NavigableSet 或 NavigableMap 接口的集合,如 TreeSet 和 TreeMap,或者其线程安全的版本 ConcurrentSkipListSet 和 ConcurrentSkipListMap。对于实现了 List 接口的集合,可以通过 ListIterator 来获取前后元素。选择合适的集合取决于数据的类型、集合的排序需求以及是否需要线程安全。
scjp复习笔记(3)
Example 16: 在Java1.6中引入了许多新的接口,其中的两个是:java.util.NavigableSet和java.util.NavigableMap。 import java.util.*; public class Ferry { public s
376



被折叠的 条评论
为什么被折叠?



