容器的概念
在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,或者就叫做集合,集合就是将若干性质相同或相近的类对象组合在一起而形成的一个整体。
容器(集合)与数组的区别和联系
① 容器(集合)不是数组,不能通过下标的方式访问容器(集合)中的元素
② 数组的所有功能通过Arraylist容器(集合)都可以实现,只是实现的方式不同
③ 如果非要将容器(集合)当做一个数组来使用,通过toArraylist方法返回的就是一个数组
容器(集合)的分类
集合(Set):无序存放,不允许重复,可存放不同类型的对象;
列表(List):有序存放,允许重复,可以存放不同类型的对象;
映射(Map):键值不能重复,每个键最多只能映射一个值,否则会出现覆盖的情况(后面的value值会将前面的value值覆盖掉),Map是一种把键对象和值对象进行映射的集合,即Map容器中既要存放数据本身,也要存放关键字:相同的元素会被覆盖;
SortedSet:排序好的Set;
SortedMap:排序好的Map。
注意:所有的集合实现类都只能存放对象!
迭代器
迭代器(Iterator)模式,又叫做游标(Cursor)模式。它的含义是提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。迭代器本质上是一种遍历算法。
可迭代是JAVA集合框架下的所有集合类的一种共性,也就是把集合中所有元素遍历一遍。
比较器
比较器是把集合或者数组的元素强行按照指定方法进行排序的对象,它是实现了Comparator接口类的实例。如果一个集合元素的类型是可比较的(实现了Comparale接口),那么它就具有了默认的排序方法,比较器则是强行改变了它默认的比较方法来进行排序。或者有点集合元素不可比较(没有实现Comparable接口),则可用比较器来实现动态的排序。