目录
容器的概念
容器是指用以容纳物料并以壳体为主的基本装置。
java容器类类库的用途是"保存对象"。
Java集合类是一种特别有用的工具类,可以用于存储数量不等的对象,并可以实现常用的数据结构,如栈,队列等。Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象) “丢进” 该容器中。
java中的容器也叫集合,是专门用来管理对象的对象.。
容器的分类
容器分为Set集、List列表、Map映射。
List
-
List是有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
-
用户插入的顺序或者指定的位置就是元素插入的位置。它与Set不同,List允许插入重复的值。
Set
Set,顾名思义,集合的意思。java的集合和数学的集合一样,满足集合的无序性,确定性,单一性。所以可以很好的理解,Set是无序、不可重复的。同时,如果有多个null,则不满足单一性了,所以Set只能有一个null。
Set类似于一个罐子,丢进Set的元素没有先后的差别。
Set判断两个对象相同不是使用"=="运算符,而是根据equals方法。也就是说,我们在加入一个新元素的时候,如果这个新元素对象和Set中已有对象进行注意equals比较都返回false,则Set就会接受这个新元素对象,否则拒绝。
——因为Set的这个制约,在使用Set集合的时候,应该注意两点:
(1)为Set集合里的元素的实现类实现一个有效的equals(Object)方法;
(2)对Set的构造函数,传入的Collection参数不能包含重复的元素。
(原文链接:https://blog.csdn.net/weixin_44141870/article/details/110232906)
Map
Map不是collection的子接口或者实现类。Map是一个接口。
Map用于保存具有“映射关系”的数据。每个Entry都持有键-值两个对象。其中,Value可能重复,但是Key不允许重复(和Set类似)。
Map可以有多个Value为null,但是只能有一个Key为null。
Queue
按照队列中某个属性的大小来排列。
Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。