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

发布了198 篇原创文章 · 获赞 20 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ZHOUJIAN_TANK/article/details/104498444