java集合系列(1)总体框架

作者: 愚公要移山 | 来源:发表于2019-06-10 21:43 被阅读9次

    在平时写代码的时候,我们经常会使用到java的一些集合类,还记得我在刚刚学习的时候,因为这些集合类太多,没有把他们的特点还有使用场景记清楚,所以在使用的时候对软件的性能造成了很大的影响,因此现在我想把这些集合类进行一个详细的整理,方便别人面试或者是初学者理解其概念。感谢支持

    这篇文章的大体结构如下:

    1、对java集合框架一个整体的认识和了解

    2、通过继承关系图认识集合的整体框架

    3、提前给出各个集合类的使用场景等

    一、集合框架的认识

    对于集合框架的认识,为了防止时间久,而印象变得模糊,所以我自己是这样记得,这个方法以供参考吧,假定给定一个集合类,可以把他当成一个人,首先记住从哪里来(继承关系),然后有什么本事(底层的数据结构决定了特点),最后到哪里去(使用场景)。

    根据上述的思路,先看一下来源(在这里先不说继承关系),Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*

    有什么本事呢?Java集合主要有4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。

    使用场景呢?一句话,每一个容器(集合类)能盛不同的液体(数据)。所以容器的功能不同使用场景不同。

    二、java集合类框架

    为了清晰的认识,来张图。

    java集合框架.jpg

    太多了,是不是有点乱,别着急,现在把他们捋一捋分个类就清晰了。

    先抓住它的主干,即Iterator、Collection和Map。(虚框线是接口,实框线是类)

    1、 Collection

    包含了集的基本操作和属性高度抽象接口

    Collection包含了List和Set两大分支。 (1) List是一个有序的队列,实现类有4个:LinkedList, ArrayList, Vector, Stack。

    (2) Set是一个不允许有重复元素的集合。实现类有3个:TreeSet、HastSet、LinkHastSet。

    2、 Map

    一个映射接口,即key-value键值对

    (1)AbstractMap是个抽象类,它实现了Map接口中的大部分API。实现类有6个:TreeMap、HashMap、LinkHashMap、IdentityHashMap、WeakHashMap、HashTable (2)SortedMap 是继承于Map的接口。内容是排序的键值对,通过比较器(Comparator)

    3、Iterator。

    它是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。

    三、集合总体框架的各个类的使用场景

    为了描述方便,我觉得还是图比较直观

    java集合类总结.png

    具体的,可以先有个印象,等把所有的集合类学完了之后,再来看这个印象会比较深刻一点。

    喜欢的关注我,我会陆续发表出来。欢迎大家关注我的微信公众号


    微信公众号.jpg

    欢迎大家批评指出问题

    相关文章

      网友评论

        本文标题:java集合系列(1)总体框架

        本文链接:https://www.haomeiwen.com/subject/cjtxfctx.html