天天看點

java集合類——LinkedHashSet類

對這個類,到現在還是從來沒用過,不過要知道這個的LinkedHashSet類的優點是必須的,至少以後用到的時候,能有個可選的餘地,有個解決方案。

LinkedHashSet具有保序性。什麼意思呢?

就是說,比如從資料庫裡取出資料,用HashSet儲存,結果發現順序卻是亂的,這是LinkedHashSet就能派上用場了哦。

其實在HashSet的構造方法中有一個是這樣的:

HashSet(int initialCapacity, float loadFactor, boolean dummy) {
      map = new LinkedHashMap<E,Object>(initialCapacity, loadFactor);
}
           

但這個構造方法沒有任何權限控制符,說明隻能在同一包中進行調用。而我們平時進行new的時候的HashSet都是public的,在構造方法中,屬性Map的值都是HashMap的執行個體,是以HashSet就沒有Linked*的保持排序的功能了。