附件图解:
JAVA知识补充:
一.java内部容器类
1.容器的概念
在JAVA当中,如果有一个类专门用来存放其他类的对象,这个类就叫做容器,或者叫做集合,集合就是将若干个性质相同或相近的类对象组合在一起而形成的一个整体。
2.容器的用途
如果对象的数量和生命周期都是固定的,自然我们也就不需要很复杂的数据结构,我们可以通过创建引用来持有对象,如:
Class clazz;
也可以通过数组来持有多个对象,如:
Class[] clazs=new Class[10];
然而,一般情况下,我们并不知道要创建多少对象,或者以何种方式创建对象。数组显然只能创建固定长度的对象,为了使程序变得更加灵活与高效,Java类库提供了一套完整的容器类,具备完善的方法解决上述问题;
3.容器与数组的关系
之所以需要容器:
(1)数组的长度难以扩充
(2)数组中数据得到类型必须相同
容器预数组的区别与联系:
(1)容器不是数组,不能通过下标的方式访问容器中的元素
(2)数组的所有功能通过Arraylist容器都可以实现,只是实现的方式不同
(3)如果非要将容器当做一个数组来使用,通过toArraylist方法返回的就是一个数组
4.java内部容器类---集合图:
其中淡绿色的表示接口,红色的表示我们经常使用的类
5.基本概念:Java容器类库的用途是保存对象,可以将其分为2个概念
(1)Collection
一个独立元素的序列,这些元素都服从一条或多条规则。其中List必须按照插入的顺序保存元素,Set不能有重复的元素,Queue按照排队规则来确定对象的产生顺序(通常也是和插入顺序相同)
(2)Map
一组成对的值键对对象,允许用键来查找值。ArrayList允许我们用数字来查找值,它是将数字和对象联系在一起。而Map允许我们使用一个对象来查找某个对象,它也被称为关联数组。或者叫做字典。
6.容器的七大接口之间的关系:
(1)其中List,Queue和Set接口继承了Collection接口,剩余的接口之间都是相互独立的,无继承关系。List和Set接口主要是为了区分是否包含重复元素。Iterater迭代器是为了更灵活的迭代集合,与foreach一起使用。Comparable接口用于比较。