java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > LinkedHashSet详解

Java的集合LinkedHashSet详解

作者:Fly_Fly_Zhang

这篇文章主要介绍了Java的集合LinkedHashSet详解,LinkedHashSet介于HashSet和TreeSet之间,它也是一个hash表,但是同时维护了一个双链表来记录插入的顺序,需要的朋友可以参考下

LinkedHashSet

特点:

继承关系:

public class LinkedHashSet<E>
    extends HashSet<E>  //继承了HashSet
    implements Set<E>, //实现了set接口
     Cloneable, //可以进行clone
     java.io.Serializable { //实现了序列化

构造函数 :

LinkedHashSet调用了父类中一个构造函数,而该构造函数创建了一个LinkedHashMap实例; 父类构造函数

   HashSet(int initialCapacity, float loadFactor, boolean dummy) { 
   //子类LinkedHashMap调用的都是这个构造函数:LinkedHashMap;
        map = new LinkedHashMap<>(initialCapacity, loadFactor);
    }

LinkedHashSet构造函数:

 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<? extends E> c) {
        super(Math.max(2*c.size(), 11), .75f, true);
        addAll(c);
    }

LinkedHashMap与LinkedHashSet和HashSet的区别:

LinkedHashSet应用场景:

LinkedHashSet实现了对数据进行去重,并且对集合类数据实现访问有序 ;

到此这篇关于Java的集合LinkedHashSet详解的文章就介绍到这了,更多相关LinkedHashSet详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文