3.11 JDK源码阅读之LinkedHashSet

 LinkedHashSet

 

  Set集合不包含重复的元素,这是使用Set的主要原因。有三种常见的Set实现——HashSet, TreeSet和LinkedHashSet。什么时候使用它们,使用哪个是个重要的问题。总体而言,如果你需要一个访问快速的Set,你应该使用HashSet;当你需要一个排序的Set,你应该使用TreeSet;当你需要记录下插入时的顺序时,你应该使用LinedHashSet。 

        LinkedHashSet继承自HashSet,源码更少、更简单,唯一的区别是LinkedHashSet内部使用的是LinkHashMap。这样做的意义或者好处就是LinkedHashSet中的元素顺序是可以保证的,也就是说遍历序和插入序是一致的。 

LikedHashSet->HashSet->Set

HashSet、LinkedHashSet与HashMap、LinkedHashMap相对应。分析了HashMap、LinkedHashMap的源码之后,HashSet、LinkedHashSet也就很浅显易懂了

hashset的底层结构还是hashmap

 

猜你喜欢

转载自blog.csdn.net/weixin_41395565/article/details/81781782