在我们编程中使用比较多的对象是集合,不得不承认我只仅限于了解几个常用的集合,比如: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图:
今天就到这里,为了生成这张图,缕清关系,可费劲,下篇将进一步介绍集合。
转载于:https://my.oschina.net/u/1257439/blog/680201
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109003.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...