您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx 适合初学者的学习笔记【二】

2015-04-24 14:08 190 查看
最近在看jdk源码,看到AbstractList的时候发现一个问题,它的equals()方法是这样的
public boolean equals(Object o) {
if (o == this)
return true;
if (!(o instanceof List))
return false;

ListIterator<E> e1 = listIterator();
ListIterator e2 = ((List) o).listIterator();
while (e1.hasNext() && e2.hasNext()) {
E o1 = e1.next();
Object o2 = e2.next();
if (!(o1==null ? o2==null : o1.equals(o2)))
return false;
}
return !(e1.hasNext() || e2.hasNext());
}


先判断o是不是本身,再判断o是不是个List,然后通过Iterator迭代来判断List中的每个元素是否相等。
我的疑问是,在开始为什么不先判断一下List的size()是否相等,如果有两个很大的List比较,那么开始
比较大小,如果不相等直接return fasle,省的去迭代所有元素了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: