迭代器:容器与容器遍历。
容器:在物理层面上,存储结构只有两种,一种是连续位置存储就是数组 另一种是不连续存储就是链表
其他的任何数据结构底层都是由数组或者链表组成的。
实现自定义容器:
定义一个迭代器IteratorSelf
public interface IteratorSelf implementsCollectionSelf{
boolean hasNext();
Obejct next();
}
自定义一个数组容器
class ArrayListSelf{
Object[] objects = new Object[10];
private int index = 0;
public void add(Object o){
Object[] newObjects = new Object[objects.length*2];//动态扩容
System.arraycopy(objects,0,newObjects,0,objects.length);
objects = new Objects;
}
objects[index] = o;
index++;
}
public int size{return index;}
}
自定义一个链表容器
class LinkedListSelf implementsCollectionSelf{
Node head = null;
Node tail = null;
private int size = 0;
public void add(object o){
Node n = new Node(o);
n.next