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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java绝对值判断_Java判断绝对值的方法总结[通俗易懂]

    if-else语句判断:importjava.util.Scanner;publicclassAbsoluteValue{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);//声明扫描仪变量System.out.println(“请输入数值”);//系统提示输入try{//监听异常whi…

    2022年4月8日
    85
  • matlab练习程序(多线段交点)

    matlab练习程序(多线段交点)matlab练习程序(多线段交点)

    2022年4月21日
    137
  • route命令详解

    route命令详解route命令详解在网络中,route命令用来显示、添加、删除和修改网络的路由。1.route命令的格式route[-f][-p][Command][Destination][maskNetmask][Gateway][metricMetric][ifInterface]2.route-参数的含义:route-f:用于清除路由表。route-p:用于创建永久路由。routeComman:主要有print(打印路由)、ADD(添加路由)、DELETE(删

    2022年7月18日
    27
  • 如何解压war包_tomcat自动解压war包

    如何解压war包_tomcat自动解压war包使用WinRAR即可解压,同目录下创建一个.zip文件,右键打开方式->WinRAR压缩文件管理器“向上”,到文件目录选择要解压的文件,点击“解压到”,解压到你想要的目录即可java中的war格式的压缩包怎么解压?你好,这些是打包好的部署包,将这些直接丢如TomcatWebApp目录下就可以通过Web访问了,如果你想看源码,用解压缩软件都可以的,就看这包里面有没有源码了,zip,win…

    2022年10月5日
    4
  • 【python总结】python学习框架梳理

    【python总结】python学习框架梳理目录基础注释与变量名等基本规则关键字操作符数字字符串条件控制序列列表元组映射集合字典函数函数基础内置函数有哪些?模块数字字符串OSlogging、argparase、cmd综合模板错误和异常面向对象提高文件操作函数式编程正则表达式网络编程多线程与多进程本专栏不适合才学python的新手,适合学过python,但总体框架不清晰的朋友。跟我一起总结提升吧!抓住三个点:操作符、、内置函数、

    2022年6月9日
    31
  • anaconda卸载后问题

    anaconda卸载后问题anaconda卸载后问题因platformio问题,我将电脑中的anaconda卸载后,出现重新安装anaconda后,无法使用(无conda命令,无jupyter,spyder等图标的问题);经搜索,通过安装miniconda后,用conda命令安装anaconda解决了问题。但除了了使用anacondaprompt时,出现系统找不到指定路径的提示,比较碍眼,(同cmd亦是)。经查,将注册表中的anaconda字符改为miniconda也能解决问题;如下图…

    2022年6月17日
    143

发表回复

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

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