栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDK源码==》LinkedHashSet类学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDK源码==》LinkedHashSet类学习

1、主要的构造
public class linkedHashSet
    extends HashSet
    implements Set, Cloneable, java.io.Serializable {
    
    
    public linkedHashSet(int initialCapacity, float loadFactor) {
        super(initialCapacity, loadFactor, true);
    }
    
    public linkedHashSet(int initialCapacity) {
        super(initialCapacity, .75f, true);
    }
    
    public linkedHashSet() {
        super(16, .75f, true);
    }
    
    public linkedHashSet(Collection c) {
        super(Math.max(2*c.size(), 11), .75f, true);
        addAll(c);
    }
}    

从上面可以看出该类继承HashSet,构造都是调用父类的构造

HashSet的构造
    public HashSet() {
        map = new HashMap<>();
    }
	public HashSet(Collection c) {
        map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16));
        addAll(c);
    }
	public HashSet(int initialCapacity, float loadFactor) {
        map = new HashMap<>(initialCapacity, loadFactor);
    }
	public HashSet(int initialCapacity) {
        map = new HashMap<>(initialCapacity);
    }
	HashSet(int initialCapacity, float loadFactor, boolean dummy) {
        map = new linkedHashMap<>(initialCapacity, loadFactor);
    }

从上面可以看出,当linkedHashSet使用无参构造实例化时,回调用父类HashSet的三个参数的构造,而调用父类的三个参数的构造,默认创建的是linkedHashMap的实例。

而HashSet使用无参构造创建的实例是HashMap的实例。

linkedHashSet的构造可以看出,全部都是调用父类的三个参数的构造,因此linkedHashSet创建的实例都是linkedHashMap

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749594.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号