迭代器:是一种设计模式,提供了一种方法,来对集合,容器进行遍历的方式,不需要关注底层数据结构和数据类型,来达到底层和上层遍历解耦的目的。
集合如何获得一个迭代器:集合要具有iterator 方法需要实现iterable接口,要自定义一个迭代器内部类,类需要实现Iterator接口;
public Iterator<E> iterator() {
return new Itr();
}
public class DIYArrayList<T> implements Iterable<T> {
private T[] data;
private int size;
public DIYArrayList() {
this(10);
}
public DIYArrayList(int campcity) {
if (campcity < 0){
try {
throw new IllegalAccessException("参数异常");
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
data = (T[]) new Object[campcity];
size = 0;
}
private boolean isFull() {
return size == data.length;
}
private void grow() {
int newLength = size+size>>1;
data = Arrays.copyOf(data, newLength);
}
private boolean checkRange(int index) {
if (index< 0 || index >= size)
throw new IndexOutOfBoundsException();
return true;
}
@Override
public String toString()