Java 为集合类创建自己的迭代器时遇到问题
我得到一个错误“迭代器无法解析为类型”。我试图获取存储类并添加实现java的Collections类所需的代码。 我想我不允许导入迭代器,我想我需要自己制作迭代器Java 为集合类创建自己的迭代器时遇到问题,java,class,collections,iterator,Java,Class,Collections,Iterator,我得到一个错误“迭代器无法解析为类型”。我试图获取存储类并添加实现java的Collections类所需的代码。 我想我不允许导入迭代器,我想我需要自己制作迭代器 public class storage { private Object[] data = new Object[256]; // Don't allow access to anything not yet stored private int nextEmptySlot = 0; private
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;
}
};
}
}
公共类存储{
私有对象[]数据=新对象[256];
//不允许访问尚未存储的任何内容
私有int-nextenstlot=0;
私有整数i=0;
公共对象begin(){
返回数据[0];
}
公共对象结束(){
返回数据[NextEntrySlot];
}
//类迭代器(){
//公共存储数据;
//}
公共迭代器迭代器(){
//返回在数据数组上迭代的类
返回新的迭代器(){
公共对象删除(){
对于(int j=i+1;j您需要导入java.util.Iterator;
此代码甚至没有错;请查看迭代器方法:
您的迭代器没有实现java.util.Iterator接口;使用相同的名称不能使其成为一个接口
看看你的方法:
public int hasNext()
java.util.IteratorhasNext()
返回一个布尔值
这是完全错误的。在一般实践中,类名称以大写字母开头…Storage