今日学习内容总结如下:
Collection接口
无序 允许重复
public interface Collection<E> extends Iterable<E>
Iterator
add新增 remove删除 contains判断集合中是否有指定元素 clear清空集合
size元素个数
iterator获取迭代器,通过迭代器遍历集合中的所有元素
toArray转换为等长的数组
如何判断删除的元素相等
equals
定义equals方法可以依赖于IDE工具自动生成
@Override
public boolean equals(Object obj) {
// 用户自定义的比较规则
if (this == obj)
return true;
if (obj == null) //当前对象不可能为null,否则空指针异常
return false;
if (getClass() != obj.getClass()) // 类型判断。一个类只能加载一次
return false;
A1 other = (A1) obj;
//调用Objects工具类中的方法进行相等判断
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
return Objects.equals(id, other.id) && Objects.equals(name, other.name);
}
==和equals
==比较的是对象的引用值
equals用户自定义比较规则。如果没有自定义equals方法,则从
Object类中继承得到equals方法
public boolean equals(Object obj) {
return (this == obj);
}