写过Java的人都知道Java集合类,也用过Java集合类。Java集合类位于 java.util 这个包下,就像它的包名暗示的那样,Java集合类就是一套工具。它就像工匠的工具箱同样,它能给使用它的人提供便利与效率。正所谓”工欲上其事,必先利其器。“ 若是咱们想更好地、更高效率地完成任务,咱们须要熟悉咱们手上的工具。Java集合类就是这样的工具,只要咱们可以熟练使用它,它就能够显著地提升咱们的工做效率、让咱们事半功倍。html
先说说我对Java集合框架的理解: Java集合框架不是什么高深的技术,也不是什么苦涩的知识,它只是把经常使用的数据结构和算法集合在一块儿,让咱们不用重复造轮子,能更轻松地、更高效地处理数据。就像就像Oracle的Java教程说的那样:Java集合框架经过提供高性能、高质量的数据结构和算法来提升程序的速度和质量并减轻你的编程负担。因此咱们没必要惧怕学不会Java集合框架。既然是工具,多用几回就能够熟能生巧了。固然有数据结构基本能更轻松地掌握它。java
稍微学习过Java集合类都知道,Java集合类这个工具箱真的太多工具了,不只有List、有Map、有Set等。List中又有ArrayList、LinkedList等,Map中又有HashMap、TreeMap等,Set中又有。。。 此刻你是否想说:”WTF,这么多怎么学?哥不学了,洗洗睡去吧。“ 但我想说,少年,稍安勿躁!万事都有规律,只要掌握了规律再多的东西都能掌握。算法
Java集合类分为两大类:Collection和Map。为何要这样分类呢?编程
先看Collection。Collection翻译为中文是”集合“的意思。学过数学都知道,集合是一类元素组成的集体,它的每个单位元素都是单一的个体。咱们能够把Collection当作是一个装着球的格子箱,箱里的每个格子只能放一个球:api
Map。Map有”映射“的意思。根据百度百科对 映射 的定义 ,咱们知道映射是成对出现的,有映 才有 射 :)。因此映射的单位元素都是一对有关联的个体。咱们一样能够把Map当作是一个装着球的格子箱,不一样的是此次箱里的每一个格子装的是两个有关联的球:数据结构
总结oracle
分析完Collection与Map的区别后咱们分别来看看它们的概貌,以便咱们更好地学习它们以及它们的子集。(如下的图中,红色的类,白色的接口。为何把接口和类分开呢?由于咱们在实际操做的时候通常是实例化类的,接口通常用来向上转型的。你总不能new个接口吧?并且咱们主要学的也是具体的类而不是接口)框架
咱们先看Collection与Map的层次图:数据结构和算法
Collection:
工具
Map:
这种图有什么做用呢?这种图对咱们学习Java集合大有裨益。我总结了几点:
最后给出Collection与Map接口定义的接口文档(方便之后本身查看:))
好了,今天就到这,以后在来总结集合类的其余具体子集!!