容器
容器的概念
Java API所提供的一些列的实例,用于在程序中存放对象
容器API
容器API位于java.util包内
1136-记住一个图,一个类,三个知识点和6个接口
Collection接口-定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式
Set:类似数学里的集合,在此没有顺序且不可以重复
List:有顺序并且可以重复(两个对象之间互相equals,就算重复了)
Map:接口定义了存储“键(key)——值(value)映射对”的方法
Collection接口
Collection方法举例:
- 容器类对象再调用remove、contains等方法时需要比较对象是否相等,这会涉及到对象类型的equals方法和hashCode方法;对于自定义的类型,需要重写equals和hasdCode方法以实现自定义的对象相等规则。
- 注意:相等的对象应该具有相等的hash codes。
- 增加Name类的equals和hashCode方法如下:
重写equals方法,应该重写hashcode方法
(两个对象互相equals,它们之间的hashcode就应该相等
什么时候用,当对象作为索引时,一对一对的存信息,如信息管理系统,名字作为索引放内存里,当真正找相关的信息的时候,先找名字,再找相关的信息)
public boolean equals(Object obj) {
if (obj instanceof Name) {
Name name = (Name) Obj;