文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java中SortedMap和NavigableMap的作用是什么

2023-06-15 03:48

关注

本篇文章给大家分享的是有关Java中SortedMap和NavigableMap的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、前言

由于乱序的数据对查找不利,例如无法使用二分法等降低算法的时间复杂度,如果数据在插入时就排好序,查找的性能聚会提升很多。sortedMap接口就是为这种有序的数据服务的。

二、sortedMap接口

sortedMap接口需要数据的key支持Comparable,或者可以被指定的Comparator接受。sortedMap主要提供了以下方法:

// 返回排序数据所用的ComparatorComparator<? super K> comparator();// 返回在[fromKey, toKey)之间的数据SortedMap<K,V> subMap(K fromKey, K toKey);// 返回从第一个元素到toKey之间的数据SortedMap<K,V> headMap(K toKey);// 返回从fromKey到末尾之间的数据SortedMap<K,V> tailMap(K fromKey);//返回第一个数据的keyK firstKey();//返回最后一个数据的keyK lastKey();

SortedMap主要提供了获取子集,以及获取最大值(最后一个值)和最小值(第一个值)的方法。但这仅仅是排序数据能提供的便利的一小部分,在接下来分析的NavigableMap中,我们还会看到更多的功能。

SortedMap提供了获取最大值与最小值的方法,但对于一个已经排序的数据集,除了最大值与最小值之外,我们可以对任何一个元素,找到比它小的值和比它大的值,还可以按照按照原有的顺序倒序排序等。NavigableMap就为我们提供了这些功能。

三、NavigableMap接口

我们来看看NavigableMap主要有哪些方法

// 找到第一个比指定的key小的值Map.Entry<K,V> lowerEntry(K key);// 找到第一个比指定的key小的keyK lowerKey(K key);// 找到第一个小于或等于指定key的值Map.Entry<K,V> floorEntry(K key);// 找到第一个小于或等于指定key的keyK floorKey(K key);//  找到第一个大于或等于指定key的值Map.Entry<K,V> ceilingEntry(K key);K ceilingKey(K key);// 找到第一个大于指定key的值Map.Entry<K,V> higherEntry(K key);K higherKey(K key);// 获取最小值Map.Entry<K,V> firstEntry();// 获取最大值Map.Entry<K,V> lastEntry();// 删除最小的元素Map.Entry<K,V> pollFirstEntry();// 删除最大的元素Map.Entry<K,V> pollLastEntry();//返回一个倒序的MapNavigableMap<K,V> descendingMap();// 返回一个Navigable的key的集合,NavigableSet和NavigableMap类似NavigableSet<K> navigableKeySet();// 对上述集合倒序NavigableSet<K> descendingKeySet();

常用的java框架有哪些

1.SpringMVC,Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。2.Shiro,Apache Shiro是Java的一个安全框架。3.Mybatis,MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。4.Dubbo,Dubbo是一个分布式服务框架。5.Maven,Maven是个项目管理和构建自动化工具。6.RabbitMQ,RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。7.Ehcache,EhCache 是一个纯Java的进程内缓存框架。

以上就是Java中SortedMap和NavigableMap的作用是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯