国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Java源碼解析之SortedMap和NavigableMap

瀏覽:5日期:2022-08-12 11:26:36
目錄一、前言二、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源碼解析之SortedMap和NavigableMap的文章就介紹到這了,更多相關Java SortedMap和NavigableMap內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 海南省| 乌海市| 从化市| 遂宁市| 微博| 运城市| 乌审旗| 元朗区| 施秉县| 平和县| 新化县| 五寨县| 枝江市| 新乡市| 张家口市| 祁阳县| 澄迈县| 舞阳县| 伊宁市| 崇礼县| 永平县| 莱西市| 富川| 永川市| 克山县| 宜阳县| 大安市| 黄浦区| 城市| 磐安县| 长宁县| 菏泽市| 福泉市| 钟祥市| 嘉峪关市| 辽中县| 满洲里市| 砀山县| 石河子市| 宝应县| 鄄城县|