cocos2dx 适合初学者的学习笔记【二】
2015-04-24 14:08
190 查看
最近在看jdk源码,看到AbstractList的时候发现一个问题,它的equals()方法是这样的
先判断o是不是本身,再判断o是不是个List,然后通过Iterator迭代来判断List中的每个元素是否相等。
我的疑问是,在开始为什么不先判断一下List的size()是否相等,如果有两个很大的List比较,那么开始
比较大小,如果不相等直接return fasle,省的去迭代所有元素了。
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,省的去迭代所有元素了。
相关文章推荐
- cocos2dx 适合初学者的学习笔记【一】
- cocos2dx 适合初学者的学习笔记【三】
- cocos2dx 适合初学者的学习笔记【四】
- (JAVA SE 学习笔记)Java.SE.第011讲.面向对象之封装.续二(对一些原理机制进行了详细的解释,适合初学者学习)
- cocos2dx游戏开发学习笔记(二)
- java学习笔记,试用初学者,第二节,关于内存地址分配问题
- 推荐;适合SQL初学者学习的SQL FAQ集锦
- Cocos2dx学习笔记33 Lua语言讲解
- cocos2dx游戏开发——别踩白块学习笔记(二)——经典模式的实现
- Cocos2dx 3.2 横版过关游戏Brave学习笔记(六)
- salesforce 零基础学习(六十九)当新增/修改一条记录以后发生了什么(适合初学者)
- 【Cocos2dx学习笔记】2.0-3.0的一些常见改动
- 【学习笔记】让一个块级元素上下左右居中 ps:初学者求轻虐
- cocos2dx lua学习笔记 <一> quick 3.5定义本身C++类是必然lua
- cocos2dx 学习笔记 之 lua -1
- cocos2dx学习笔记(定时器)
- cocos2dx学习笔记(着色器水纹效果)
- 09年学习笔记-初学者
- Cocos2dx学习笔记3:基础概念介绍
- python初学者学习笔记(二)数组的操作