为什么需要容器
数组长度难度难以扩充;
数组中元素类型必须相同;
容器的存在可以弥补这两个缺陷;
举例:
假设A是个类名
A[] arr =new A[10];
表示分配一个数组,数组的每个元素都是A类对象的引用,但如果想扩充数组长度,如现在需要将arr数组长度扩充到15,这样的操作是需要在内存中重新分配出一个长度为15的空间,并非是在已经分配的长度10中继续增加5,然后再用System.arraycopy();方法将原数组内容拷贝到新建数组中。但这样操作将会耗时耗内存,效率很低。
什么是容器
一个可以存放其它类对象的类,叫容器(集合);
容器与现实的对应关系
集合就是将若干用途、性质相同或相近的数据组合而成的一个整体;
数学上集合的归类三种及JAVA对应的三种接口
集(Set)
Set集合中不区分元素的顺序,不允许出现重复元素;
列表(List)
List集合区分元素的顺序,且允许包含重复元素;
映射(Map)
映射中保存成对的“键-值”信息,映射中不能保存重复的键,每个键最多只能映射一个值;
容器的框架图