容器(Container)
容器是一个Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您做好。
常用容器
WebSphere, WebLogic, Resin, Tomcat
为什么要引入数据容器
在书写程序的时候,我们常常需要对大量的对象引用进行管理。为了实现有效的归类管理,我们常常将同类的引用放置在同一数据容器中。由于数据容器中存放了我们随时可能需要使用到的对象引用,所以一般的数据容器要都要能能提供方便的查询、遍历、修改等基本接口功能。早期的OOP语言都通过数组的方式来实现对引用集的集中管理和维护。
但是数组方式下,数组大小需要提前被确定,并不允许修改大小,导致其作为一种灵活的数据容器的能力的功能大为下降。为了方便的利用数据容器进行引用的管理,Java中提供了丰富的数据容器以满足程序员多样化的需求。
分类
java结合类主要有两个接口派生出如下图:
常用集合主要特点及实现方式
(1)set
1)(元素不重复),是没有顺序的。比较元素是否相同是用equls实现的
注意:equals的底层是用==实现的,==比较的是指向值的引用。而引用类型重写了equals方法比较的是具体的值。
2)set的底层是用map实现的,hashSet由hashMap实现
原因:set的值是不可重复的,而map的key值是不可重复的,所以set将值保存到了map的key中,而value存的一个object对象。