LinkedHashSet源碼

1、分析

HashSet的子類,但內部使用了LinkedHashMap

2、繼承體系

public class LinkedHashSet<E>
        extends HashSet<E>
        implements Set<E>, Cloneable, java.io.Serializable {

3、構造函數

    public LinkedHashSet(int initialCapacity, float loadFactor) {
        super(initialCapacity, loadFactor, true);
    }

    public LinkedHashSet(int initialCapacity) {
        super(initialCapacity, .75f, true);
    }

    public LinkedHashSet() {
        super(16, .75f, true);
    }


//調用的父構造器:內部維護了一個LinkedHashMap
HashSet(int initialCapacity, float loadFactor, boolean dummy) {
        map = new LinkedHashMap<>(initialCapacity, loadFactor);
    }


4、其餘的方法

LinkedHashMap繼承自HashMap

LinkedhashSet繼承自HashSet

在HashSet內部維持了一個HashMap對象;因此天生的LinkedHashSet內部維持了一個Hashmap對象,但是在實現時爲LinkedhASHmAP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章