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

資訊專欄INFORMATION COLUMN

Java容器類研究7:Set

RdouTyping / 348人閱讀

摘要:繼承自,繼承接口,接口繼承自。的也是使用的的的。中和方法理論上是常數時間的復雜度,前提是元素在中分散比較均勻。并且這些元素在結構中,根據進行了排序,所以用遍歷時可以按照遞增遞減順序。遍歷訪問元素的操作比更為高效,時間由元素數量決定。

java.util.Set

HashSet繼承自AbstractSet,繼承接口Set,Set接口繼承自Collection。

null是否可以放在Set中

null可以放在Set中,并且最多只能有一個。null的hashcode是0。

HashSet用什么結構實現的

HashSet用了一個HashMap。。。該HashMap默認的負載因子是0.75。

需要存入的對象作為HashMap的key存入,而value使用了一個公共靜態的ObjectPRESENT來填充。

HashSet的iterator也是使用的HashMap的key set的iterator。

HashSet中add、remove和contains方法理論上是常數時間的復雜度,前提是元素在bucket中分散比較均勻。迭代訪問其中元素的時間,則是元素數量+bucket容量,所以在迭代訪問操作比較重要時,不要將set的容量初始為很大。

HashSet不是線程安全的

將其變為一個線程安全set的官方方法是:

Set s = Collections.synchronizedSet(new HashSet(...)
TreeSet是用什么結構實現的

不出所料,是用TreeMap實現的。并且這些元素在結構中,根據comparator進行了排序,所以用iterator遍歷時可以按照遞增、遞減順序。

comparator在TreeSet中是比較關鍵的,這些元素要么是comparable,要么自己提供一個定制的comparator。并且comparator的實現一定要和equals方法一致。

對于add、remove和contains方法,理論上是log(n)時間復雜度。

LinkedHashSet與HashSet的區別

LinkedHashSet繼承自HashSet,但是記錄了元素的插入順序,仍然具有原來HashSet常數時間復雜度操作的優勢,但是這些操作會比原來慢一些,用來維護這個順序。遍歷訪問元素的操作比HashSet更為高效,時間由元素數量決定。

一樣,LinkedHashSet用LinkedHashMap來實現。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/67868.html

相關文章

  • Java 基礎 | Collection 集合概覽

    摘要:說到復盤基礎,并不是所有的都會復盤,沒那個時間更沒那個必要。比如,一些基礎的語法以及條件語句,極度簡單。思前想后,我覺得整個計劃應該從集合開始,而復盤的方式就是讀源碼。通常,隊列不允許隨機訪問隊列中的元素。 ?showImg(https://segmentfault.com/img/remote/1460000020029737?w=1080&h=711); 老讀者都知道,我是自學轉行...

    codergarden 評論0 收藏0
  • Java容器研究1:Collection

    摘要:集合類關系是和的父接口。相等必須是對稱的,約定只能和其它相等,亦然。和接口在中引入,這個單詞是和的合成,用來分割集合以給并行處理提供方便。這些并不立即執行,而是等到最后一個函數,統一執行。 集合類關系: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ...

    AprilJ 評論0 收藏0
  • Java容器研究2:List

    摘要:在中引入該方法,用來替換中的每個元素。的方法,只能在或之后使用,也就是確保當前指向了一個存在的項。這里使用了,該方法可以將非對象先映射為型,然后進行比較。存儲的是有序的數組,所以劃分時會按照順序進行劃分。 java.util.List replaceAll 在Java8中引入該方法,用來替換list中的每個元素。 default void replaceAll(UnaryOpe...

    zzzmh 評論0 收藏0
  • 一名3年工作經驗的java程序員應該具備的職業技能

    摘要:一名年工作經驗的程序員應該具備的技能,這可能是程序員們比較關心的內容。數據結構和算法分析數據結構和算法分析,對于一名程序員來說,會比不會好而且在工作中能派上用場。 一名3年工作經驗的Java程序員應該具備的技能,這可能是Java程序員們比較關心的內容。我這里要說明一下,以下列舉的內容不是都要會的東西—-但是如果你掌握得越多,最終能得到的評價、拿到的薪水勢必也越高。 1、基本語法 這包括...

    renweihub 評論0 收藏0
  • Java learn 03 常用 & 容器 (待補充筆記)

    摘要:容器的類圖如下圖所示接口定義了存取一組對象的方法其子接口和分別定義了存儲方式。中的數據對象沒有順序且不可以重復。注意相等的對象應該具有相等的 Chap 6 常用類 focus on : 字符串相關類 (String, StringBuffer) 基本數據類型包裝類 Math類 File類 枚舉類 6.1 字符串相關類 String 類 -- java.lang.String 類...

    bladefury 評論0 收藏0

發表評論

0條評論

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