您好,登录后才能下订单哦!
本篇文章给大家分享的是有关Java中SortedMap和NavigableMap的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
由于乱序的数据对查找不利,例如无法使用二分法等降低算法的时间复杂度,如果数据在插入时就排好序,查找的性能聚会提升很多。sortedMap接口就是为这种有序的数据服务的。
sortedMap接口需要数据的key支持Comparable,或者可以被指定的Comparator接受。sortedMap主要提供了以下方法:
// 返回排序数据所用的Comparator Comparator<? 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); //返回第一个数据的key K firstKey(); //返回最后一个数据的key K lastKey();
SortedMap主要提供了获取子集,以及获取最大值(最后一个值)和最小值(第一个值)的方法。但这仅仅是排序数据能提供的便利的一小部分,在接下来分析的NavigableMap中,我们还会看到更多的功能。
SortedMap提供了获取最大值与最小值的方法,但对于一个已经排序的数据集,除了最大值与最小值之外,我们可以对任何一个元素,找到比它小的值和比它大的值,还可以按照按照原有的顺序倒序排序等。NavigableMap就为我们提供了这些功能。
我们来看看NavigableMap主要有哪些方法
// 找到第一个比指定的key小的值 Map.Entry<K,V> lowerEntry(K key); // 找到第一个比指定的key小的key K lowerKey(K key); // 找到第一个小于或等于指定key的值 Map.Entry<K,V> floorEntry(K key); // 找到第一个小于或等于指定key的key K 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(); //返回一个倒序的Map NavigableMap<K,V> descendingMap(); // 返回一个Navigable的key的集合,NavigableSet和NavigableMap类似 NavigableSet<K> navigableKeySet(); // 对上述集合倒序 NavigableSet<K> descendingKeySet();
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的作用是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。