Collection家族成员

Collection家族成员

        在我们编程中使用比较多的对象是集合,不得不承认我只仅限于了解几个常用的集合,比如:ArrayList,HashMap等。要是了解集合里面实现的细节,我相信会更加利于我们编写高效的代码。

        我私自把实现(impletements)定义为徒弟,把继承(extends)定义为后代。徒弟是指学习祖先的某些能力,后代是遗传祖先的某些特性和能力。这样不管是徒弟还是后代都拥有祖先的一些能力。Collection家族祖先师承Iterable,所以家族后代都有Iterable的能力——迭代。

        Collection的第一代后代:Set、List、Queue;

                            第一代徒弟:AbstractCollection。

        set家:SortedSet:NavigableSet。                           

        List家:全是徒弟。

        Queue家:DeQueue。

        AbstractCollection家: AbstractQueue: PriorityQueue;

                                                ArrayQueue;

                                                AbstractList:  ArrayList;  

                                                                        AbstractSequentiaList:LinkedList;

                                                                        SubList: RandomAccessSubList;

                                                                        Vector:Stack;

                                                AbstractSet:HashSet:LinkedHashSet;

                                                TreeSet;

                                                EnumSet:RegularEnumSet;

                                                                    JumboEnumSet。

        师承关系比较复杂,直接看UML图:

pic_java_src_collection

        今天就到这里,为了生成这张图,缕清关系,可费劲,下篇将进一步介绍集合。

转载于:https://my.oschina.net/u/1257439/blog/680201

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109003.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月15日 下午12:00
下一篇 2021年9月15日 下午1:00


相关推荐

  • css选择器包含哪些,css选择器有哪些

    css选择器包含哪些,css选择器有哪些在 css 中 css 的选择器有很多种 其中就包括标签选择器 id 选择器 类选择器 继承选择器 伪类选择器 全局选择器等八种选择器 本文操作环境 Windows7 系统 css3 版 DellG3 电脑 css 有哪些选择器 css 选择器有几种 怎么使用 css 选择器 要想实现对 html 实现一对一的控制 就要去使用 css 选择器 那么 css 选择器有哪些 下面我们来总结一下 css 选择器 如果我们合适使用 css 选择

    2026年3月19日
    2
  • linux release 版本的区别,编译debug版本和编译release版本的区别

    linux release 版本的区别,编译debug版本和编译release版本的区别大项目的版本编译会区别 debug 和 release 那 debug 和 release 会有什么区别呢 通过对比这两者的编译选项可以找到答案 1 对比编译过程 debug DOS LINUX DDEBUG VERSION fno builtin pipe Wall fsigned char g mlongcall DCPU PPC85XX mcpu 8548 mstrict ali

    2025年12月9日
    6
  • 线性代数的消元法_高斯消元法例题

    线性代数的消元法_高斯消元法例题1.消元的思想针对下面的方程,我们无法直接得到方程的解。$$\begin{alignedat}{2}&x\space\space&2&y\space=\space

    2022年8月2日
    14
  • 钽电容封装

    钽电容封装钽电容封装系列 TAJ TAC TLC TLJ TAC TAK TPS TPM TCJ TRJ THJ 体积 A 型 3 2 1 6 B 型 3 5 2 8 C 型 6 0 3 2 D 型 7 3 4 3 E 型 7 8 4 5 容量 0 1uF 1000uF 电压 6 3V 50V 偏差 J 5 K 10 M 20 带装 A B 每盘 2000pcsC D

    2026年3月19日
    2
  • mybatis自定义分页_java分页查询接口的实现

    mybatis自定义分页_java分页查询接口的实现问题出现原因是集成mybaits时会自动加上selecttmp_page.*,rownumrow_idfrom(查询语句)tmp_page出现这个问题的原因是查询语句的列有重复的,直接查询是看不出来原因的,把重复的列名找出来然后修改…

    2022年10月4日
    5
  • 封装VP8格式的RTP包

    封装VP8格式的RTP包封装 VP8 格式的 RTP 包整体结构 0123 0 V P X CC M PT

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号