容器

容器,是用来容纳物体、管理物体。生活中,我们会用到各种各样的容器。如锅碗瓢盆、箱子和包等。而在java中的容器也有相似的功能,用来容纳和管理数据,说到这就能想到数组其实就是一种容器,可以在数组中放置对象或基本数据类型,但因为数组需要在初始化时就需要定义好容量,所以导致数组的不灵活,大多数时数组并不能满足我们对于“管理和组织数据的需求”,所以需要一种更方便的容器供我们使用,那就是容器。

JAVA面板容器 java中的容器是什么_java

Collection / Map
如图我们可以看出在java容器中有2种集合,分别是Collection根接口和Map根接口,他们代表两种不同类型的容器。

Collection接口
Collection是单例集合根接口,它是集中、收集的意思。Collection接口的两个子接口是List、Set接口。因为List、Set是Collection的子接口,意味着所有List、Set的实现类都有上面的方法。

List特点:
有序(元素存入集合的顺序和取出的顺序一致)。List中每个元素都有索引标记。
可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素。
可重复:List允许加入重复的元素。更确切地讲,List通常允许满足e1.equals(e2)的元素重复加入容器。

Set特点:
无序、不可重复。无序指Set中的元素没有索引,我们只能遍历查找;不可
重复指不允许加入重复的元素。更确切地讲,新元素如果和Set中某个元素通过equals()
方法对比为true,则只能保留一个。

Map接口特点
Map接口定义了双例集合的存储特征,它并不是Collection接口的子接口。双例集合的存储特征是以key与value结构为单位进行存储。体现的是数学中的函数y=f(x)感念。

Map与Collecton的区别:
Collection中的容器,元素是孤立存在的,向集合中存储元素采用一个个元素的方式存储。
Map中的容器,元素是成对存在的,每个元素由键与值两部分组成,通过键可以找对所对应的值。
Collection中的容器称为单列集合,Map中的容器称为双列集合。
Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。