[英]Having trouble making my own iterator for a collections class
我收到错误“迭代器无法解析为类型”。 我正在尝试采用存储类,并添加实现Java的Collections类所需的代码。 我不认为我可以导入Iterator,我认为我需要自己做。
public class storage {
private Object[] data = new Object[256];
// Don't allow access to anything not yet stored
private int nextEmptySlot = 0;
private int i=0;
public Object begin(){
return data[0];
}
public Object end(){
return data[nextEmptySlot];
}
//class Iterator() {
// public Storage data;
//}
public Iterator iterator() {
// returns a class that iterates over the data array
return new Iterator() {
public Object remove(){
for(int j=i+1 ; j<=nextEmptySlot-1 ; j++) {
this.data[j-1] = this.data[j];
}
return (this.data.data[i]);
}
public int hasNext(){
if(this.data.data[i+1] != null) return 1;
else return 0;
}
public Object next(){
i++;
if (hasNext()==1){
return this.data.data[i];
}
else if (hasNext()==0){
throw UnsupportedOperationException();
}
return this;
}
};
}
}
您需要import java.util.Iterator;
这段代码甚至没有错; 查看Iterator方法:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html
您的Iterator不实现java.util.Iterator接口; 使用相同的名称并不能做到这一点。
看一下你的方法:
public int hasNext()
java.util.Iterator hasNext()
返回一个布尔值。
这是完全错误的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.