问:什么是容器?它与数组的区别是?
数组是保存一组对象的最有效的方式,但是数组具有固定大小,如果不知道对象的数量有多少个,那么应该使用容器。
问:Java容器类类库的基本概念?
-
Collection。一个独立元素的序列,包括:List、Set和Queue。List必须按照插入的顺序保存元素,而Set不允许有重复的元素。Queue按照排队的规则来确定对象产生的顺序。
-
Map,一组成对的“键值对”对象,允许你用键来查找值。
一、容器框架图
学习容器必须先大致了解其整体框架,对整体有一个把握,然后根据自己的需求去学习对应部分,下图展示了Java整个容器框架(没有包括并发,Java SE5新添加了Queue接口):
![](https://i-blog.csdnimg.cn/blog_migrate/7aed2279eac6d22d3886a7d5ebc3f20c.png)
说明:
-
容器接口:短虚线表示,有6个:Collection、List、Set、SortedSet、Map和SortedMap。
-
抽象类:长虚线表示,对容器接口的部分实现,可扩展为自定义集合类,这样就不需要直接实现所有接口方法。
-
实现类:实现表示,对接口的具体实现。
-
Collection接口允许一组重复的对象。
-
Set接口继承(extends)Collection,集合元素不允许重复。
-
List接口继承Collec