搜 java集合
集合这里都是非线程安全的
List要包含arraylist,linklist,vector
Queue要包含queue接口,dequeue接口,arraydequeue,priortyqueue,
迭代器
迭代器iterator最大的作用,可以在不考虑集合结构的情况下,调用hasNext和next方法去遍历
实现迭代器
//实现接口
public class My_interator<E> implements Iterable<E>{
private E[] data;
public My_interator(E[] data) {
this.data = data;
}
@Override
public Iterator<E> iterator() {
//返回一个接口对象 因为接口不能自己创建对象。
//这里相当于创建了一个匿名内部类
return new Iterator<E>() {
private int cursor;
@Override
public boolean hasNext() {
return cursor+1<data.length;
}
@Override
public E next() {
return data[++cursor];
}
};
}
}
ArrayList LinkList Dequeue的代码实现在Idea
ArrayDeque Deque接口的实现
1)该队列没有容量限制,可以根据使用自动扩容
2)非线程安全
3)不允许存储null值
4)ArrayDeque作为栈比Stack快,作为队列比LinkedList快
5)iterator迭代器