国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java? 教程(SortedMap接口)

JessYanCoding / 3253人閱讀

SortedMap接口

SortedMap是一個按升序維護(hù)其條目的Map,根據(jù)鍵的自然順序或在創(chuàng)建SortedMap時提供的Comparator進(jìn)行排序,SortedMap接口提供常規(guī)Map操作和以下操作的操作:

范圍視圖 — 對排序后的map執(zhí)行任意范圍操作

端點(diǎn) — 返回已排序map中的第一個或最后一個鍵

比較器訪問 — 返回用于排序mapComparator(如果有的話)

下面的接口是SortedSet的Map模擬。

public interface SortedMap extends Map{
    Comparator comparator();
    SortedMap subMap(K fromKey, K toKey);
    SortedMap headMap(K toKey);
    SortedMap tailMap(K fromKey);
    K firstKey();
    K lastKey();
}
Map操作

SortedMap繼承自Map的操作在已排序map和常規(guī)的map上的行為相同,但有兩個例外:

iterator操作在已排序map的任何Collection視圖上返回的Iterator按順序遍歷集合。

Collection視圖的toArray操作返回的數(shù)組按順序包含鍵、值或條目。

雖然接口不能保證這一點(diǎn),但是Collection視圖在所有Java平臺的SortedMap實(shí)現(xiàn)中的toString方法按順序返回一個包含視圖所有元素的字符串。

標(biāo)準(zhǔn)構(gòu)造函數(shù)

按照慣例,所有通用Map實(shí)現(xiàn)都提供一個接受Map的標(biāo)準(zhǔn)轉(zhuǎn)換構(gòu)造函數(shù),SortedMap實(shí)現(xiàn)也不例外。在TreeMap中,這個構(gòu)造函數(shù)創(chuàng)建一個實(shí)例,該實(shí)例根據(jù)鍵的自然順序?qū)ζ錀l目進(jìn)行排序,這可能是個錯誤。最好動態(tài)檢查指定的Map實(shí)例是否是SortedMap,如果是,則根據(jù)相同的標(biāo)準(zhǔn)(比較器或自然順序)對新map排序。因?yàn)?b>TreeMap采用了它所采用的方法,所以它還提供了一個構(gòu)造函數(shù),該構(gòu)造函數(shù)接受SortedMap并返回一個新的TreeMap,其中包含與給定SortedMap相同的映射,按照相同的標(biāo)準(zhǔn)排序。注意,決定是否優(yōu)先調(diào)用SortedMap構(gòu)造函數(shù)而不是普通map構(gòu)造函數(shù)的是參數(shù)的編譯時類型,而不是運(yùn)行時類型。

SortedMap實(shí)現(xiàn)還按照約定提供了一個構(gòu)造函數(shù),該構(gòu)造函數(shù)接受Comparator并返回一個根據(jù)指定的Comparator排序的空map,如果將null傳遞給這個構(gòu)造函數(shù),它將返回一個Map,根據(jù)鍵的自然順序?qū)τ成溥M(jìn)行排序。

相比SortedSet

因?yàn)檫@個接口是SortedSet的精確Map模擬,所以SortedSet接口部分中的風(fēng)格和代碼示例都適用于SortedMap,只做了很少的修改。

上一篇:SortedSet接口

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75538.html

相關(guān)文章

  • Java? 教程(集合接口

    集合接口 核心集合接口封裝了不同類型的集合,如下圖所示,這些接口允許獨(dú)立于其表示的細(xì)節(jié)來操縱集合,核心集合接口是Java集合框架的基礎(chǔ),如下圖所示,核心集合接口形成層次結(jié)構(gòu)。 showImg(https://segmentfault.com/img/bVbntJW?w=402&h=146); Set是一種特殊的Collection,SortedSet是一種特殊的Set,依此類推,另請注意,層次結(jié)構(gòu)...

    elisa.yang 評論0 收藏0
  • Java TreeMap 源碼解析

    摘要:源碼剖析由于紅黑樹的操作我這里不說了,所以這里基本上也就沒什么源碼可以講了,因?yàn)檫@里面重要的算法都是,這里的是指,他們是算法導(dǎo)論的作者,也就是說里面算法都是參照算法導(dǎo)論的偽代碼。因?yàn)榧t黑樹是平衡的二叉搜索樹,所以其包含操作的時間復(fù)雜度都為。 本文章首發(fā)于個人博客,鑒于sf博客樣式具有賞心悅目的美感,遂發(fā)表于此,供大家學(xué)習(xí)、批評。本文還在不斷更新中,最新版可移至個人博客。? 繼上篇文章...

    rubyshen 評論0 收藏0
  • Java 集合Hashtable源碼深入解析

    摘要:分別獲取正序反序的鍵集。是用來實(shí)現(xiàn)機(jī)制的第部分源碼解析基于為了更了解的原理,下面對源碼代碼作出分析。實(shí)現(xiàn)了迭代器和枚舉兩個接口獲取的迭代器若的實(shí)際大小為則返回空迭代器對象否則,返回正常的的對象。 概要 前面,我們已經(jīng)系統(tǒng)的對List進(jìn)行了學(xué)習(xí)。接下來,我們先學(xué)習(xí)Map,然后再學(xué)習(xí)Set;因?yàn)镾et的實(shí)現(xiàn)類都是基于Map來實(shí)現(xiàn)的(如,HashSet是通過HashMap實(shí)現(xiàn)的,TreeSe...

    Turbo 評論0 收藏0
  • Java? 教程(目錄)

    Java? 教程 Java教程是為JDK 8編寫的,本頁面中描述的示例和實(shí)踐沒有利用在后續(xù)版本中引入的改進(jìn)。 Java教程是希望使用Java編程語言創(chuàng)建應(yīng)用程序的程序員的實(shí)用指南,其中包括數(shù)百個完整的工作示例和數(shù)十個課程,相關(guān)課程組被組織成教程。 覆蓋基礎(chǔ)知識的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購買。 入門 介紹Java技術(shù)和安裝Java開發(fā)軟件并使用...

    lifesimple 評論0 收藏0
  • TreeMap 源碼分析

    摘要:當(dāng)往中放入新的鍵值對后,可能會破壞紅黑樹的性質(zhì)。修復(fù)操作要重新使紅黑樹恢復(fù)平衡,修復(fù)操作的源碼分析如下方法分析如下上面對部分代碼邏輯就行了分析,通過配圖的形式解析了每段代碼邏輯所處理的情況。四總結(jié)本文可以看做是本人紅黑樹詳細(xì)分析一文的延續(xù)。 一、簡介 TreeMap最早出現(xiàn)在JDK 1.2中,是 Java 集合框架中比較重要一個的實(shí)現(xiàn)。TreeMap 底層基于紅黑樹實(shí)現(xiàn),可保證在log...

    chaos_G 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<