第8章-Java集合 --- 概述


第8章-Java集合 --- 概述

(1)Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如 栈、队列等。

(2)Java集合大致可分为Set、List、和Map三种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;Map代表具有映射关系的集合。

(3)集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。

(4)集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用变量);而集合里只能保存对象(实际上只是保存对象的引用变量。)

(5)Java集合类主要由两个接口派生而出: Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。

  如下图所示 Collection接口、子接口及其实现类的继承树:

  

  

  下图是Map体系的继承树,所有的Map实现类用于保存具有映射关系的数据:

  

 

  Map接口的众多实现类有一个共同的功能特征: Map保存的每项数据都是key-value对,也就是由key和value两个值组成。

 

(6)Java的所有集合分成三大类:

    Set集合类似于一个罐子,把一个对象添加到Set集合时,Set集合无法记住添加这个元素的顺序,所以Set里的元素不能重复(否则系统无法准确识别这个元素)

      

  

  List集合非常像一个数组,它可以记住每次添加元素的顺序,只是List的长度可变。

  

 

  Map集合也像一个罐子,只是它里面的每项数据都是由两个值组成。

  

 

  从上面的三幅图中可以看出:

        如果访问List集合中的元素,可以直接根据元素的索引来访问;

        如果访问Map集合中的元素,可以根据每项元素的key来访问其value;

        如果访问Set集合中的元素,则只能根据元素本身来访问(这也是Set集合里元素不允许重复的原因);

 

 

   个人理解:  集合是java中非常重要的基础知识,学习和理解集合对于我们写程序的帮助非常大,可能在学习完集合之后并不能立竿见影的起到作用,但是它能在日后的开发中起到很重要的作用。 学习集合不管要查询集合类对应的API文档,还应该去查看重要集合类的Java源代码,做到深入理解集合。

原文地址:https://www.cnblogs.com/baiduligang/p/4247460.html