`
androidssh
  • 浏览: 115680 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

LinkedHashSet源码带来的思考

    博客分类:
  • java
阅读更多
1、LinkedHashSet具有可预知迭代顺序的Set接口的哈希表和链接列表实现。此实现与HashSet的不同之外在于,后者维护着一个运行于所有条目的双重链接列表。
2、LinkedHashSet源码一部分
    public class LinkedHashSet<E>extends HashSet<E>implements Set<E>, Cloneable,      Serializable
3、当父类实现了某一接口,子类还需不需显式地写出也实现这一接口
    LinkedHashSet已继承了HashSet,即是HashSet的子类,而HashSet实现了Set接口, 那么子类LinkedHashSet还需不需要再写实现Set接口呢?
4、综上就有了以下的思考或验证
a、只要父类实现了某个接口, 子类可以不再显式地写,JVM不会报错,这个已验证。
b、Java标准库里这样写是由于生成JavaDoc文档的考虑,因为javadoc命令为了收集继承信息肯定得要迭代遍历了,而且为了收集接口实现信息若遍历的话,运算量相当地大,于是Sun就偷懒了?还是Sun错了,不得而知。
c、为了提高代码的可读性,如果是的话,可想而知Sun是多么注重代码的可读性。
分享到:
评论

相关推荐

    java集合-LinkedHashSet的使用

    LinkedHashSet 是 Java 中的一个集合类,它是 HashSet 的子类,同时也实现了 Set 接口。与 HashSet 不同的是,LinkedHashSet 保留了元素插入的顺序,并且具有 HashSet 的快速查找特性。下面是关于 LinkedHashSet 的...

    HashSet、LInkedHashSet的使用和特点

    HashSet、LInkedHashSet的使用和特点

    集合框架源码分析

    常见的实现类有`ArrayList`、`LinkedList`、`HashSet`、`LinkedHashSet`、`HashMap`等。 2. **源码分析:ArrayList** `ArrayList`是基于动态数组实现的列表,其内部维护了一个Object类型的数组。当我们添加元素时...

    HashSet,TreeSet和LinkedHashSet的区别1

    本文主要探讨了三种基于Set接口的实现类:HashSet、LinkedHashSet和TreeSet,它们各自有不同的特性和使用场景。 首先,HashSet是最基础的Set实现,它不保证元素的特定顺序,也不保证在多次操作后保持元素的顺序不变...

    Java集合类源码(摘自jr源码)

    `HashSet`、`TreeSet`和`LinkedHashSet`是其常见的实现类。 深入研究这些源码,可以帮助开发者理解Java集合框架的内部工作机制,优化代码性能,以及解决并发和内存管理等高级问题。对于Java开发者来说,掌握这些...

    Java源码解析——看优秀源码最能使人进步

    本文将对Java.lang.Object类、Java.lang.Integer类、Java.lang.String类、java.util.Arrays类、java.util.ArrayList类、java.util.LinkedList类...LinkedHashMap类、java.util.LinkedHashSet类等JDK源码进行详细的解析...

    java jdk 实例宝典源码

    - **Set接口**:包括HashSet、LinkedHashSet、TreeSet等实现,提供无序、不重复元素的集合。 - **Map接口**:包括HashMap、LinkedHashMap、TreeMap等实现,存储键值对的数据结构。 3. **并发编程**: - **线程类...

    List 去重的6种方法(contains、迭代、hashSet、treeSet、linkedHashSet、stream)

    从代码和执行结果可以看出,LinkedHashSet 是到目前为止,实现比较简单,且最终生成的新集合与原集合顺序保持一致的实现方法 6:Stream去重(有序) Stream 实现去重功能和其他方法不同的是,它不用新创建集合,使用...

    Spring源码解析文件说明

    - 早期事件记录:创建一个`LinkedHashSet&lt;ApplicationEvent&gt;`来存储一些早期发生的事件。 #### 2. 获取或创建BeanFactory - `obtainFreshBeanFactory()` 接下来,系统会进入获取或创建`BeanFactory`的阶段,具体...

    Java源码分析:集合-容器.pdf

    首先,Set集合是一个不允许重复元素的集合,它有多种实现方式,其中包括HashSet、TreeSet和LinkedHashSet。HashSet是基于HashMap实现的,其元素存储在HashMap的key上,而value使用一个静态的默认对象。为了保证元素...

    计算机后端-Java-Java核心基础-第24章 集合01 24. LinkedHashSet的使用.avi

    计算机后端-Java-Java核心基础-第24章 集合01 24. LinkedHashSet的使用.avi

    Java—Set集合详解(HashSet/LinkedHashSet/TreeSet/EnumSet)

    本文将深入探讨Java中四个主要的Set实现类:HashSet、LinkedHashSet、TreeSet以及EnumSet。 首先,Set集合的核心特性是不存储重复元素。在尝试通过`add()`方法添加相同元素时,如果集合中已经存在该元素,`add()`...

    某果学院springboot 源码解析

    ### Spring Boot源码解析 #### 一、SpringApplication实例化及run方法解析 SpringApplication 类是 Spring Boot 的入口类,负责整个应用的启动过程。它实现了 `ApplicationRunner` 和 `CommandLineRunner` 接口,...

    java8源码-JavaRobot:Java学习笔记,JavaLearningNote

    java8 源码 学习笔记(持续更新中) 所有文章均同步发布到微信公众号...LinkedHashSet TreeSet HashSet Concurrent源码系列 待完善 JVM(Java虚拟机) 类加载 垃圾回收算法 JavaConcurrent(Java并发系列) 【Java并发系列】

    javabitset源码-JerrySoundCode:杰瑞声码

    bitset源码Java源码分析 基础集合列表 ArrayList (done) Vector (done) LinkedList (done) Stack (done) ReferenceQueue (done) ArrayDeque (done) Set HashSet (done) TreeSet (done) LinkedHashSet (done) BitSet ...

    尚硅谷-深入Java集合5:LinkedHashSet的实现原理.pdf

    ·企业级笔试面试题目深入源码级讲解,拒绝死记硬背 4.代码量更大、案例更丰富、更贴近实战: ·Java语言基础阶段:12720行代码,Java语言高级阶段:11684行代码 ·课堂实战项目3套,课后实战项目2套 ·近百道企业...

    对java基础集合部分(List、HashMap、HashSet、ArrayList等)底层源码的分析与总结

    LinkedHashSet与HashSet相似,但保留了插入顺序,通过维护一个双向链表来实现。 TreeSet则实现了SortedSet接口,内部使用红黑树数据结构,保证元素有序。我们可以使用自定义的比较器或对象的自然排序规则进行排序。...

    疯狂java讲义光盘 源码

    - **List、Set与Map接口**:学习ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、TreeMap等具体实现类的使用。 - **泛型**:掌握泛型的概念,了解如何在集合中使用泛型以限制元素类型,提高代码安全性。...

    常见的java集合源码分析,以及面试题

    本文将深入剖析Java集合的源码,探讨其内部实现机制,并结合常见面试题,帮助你更好地理解和应用这些知识。 首先,我们从基础开始,Java集合框架主要分为两大类:List(列表)和Set(集合)。List接口包括ArrayList...

Global site tag (gtag.js) - Google Analytics