用java源代码学数据结构<一>: Collection , Iterator
曾经某位大神说过:学习编程的最好方法就是看源代码。集合类无疑是学习数据结构好的原材料。开始准备用c++的STL,由于本人能力有限,看了下vc的STL源代码,什么一重指针,二重指针,n重指针漫天都是,所以只好放弃。java没有指针,学习难度无疑大大降低,STL就只有等以后能力提高点再说了。
集合类的源代码都可以在jdk安装目录下的src.zip文件中找到,由于篇幅有限,删除了大量非必要注释。
先来看下Collection.java文件
package java.util;/** Iterator和enumerations的不同点有两处:* 1.Iterator运行调用者在迭代过程中删除集合元素* 2.Iterator 改变了函数名*/public interface Iterator<E> {// 如果仍有元素可以迭代,则返回 true。boolean hasNext();//返回迭代的下一个元素E next();//从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次next的过程中只能调用一次void remove();}一起学习,一起进步,欢迎访问我的博客:http://blog.csdn.net/wanghao109