Ich erhalte den Fehler "Iterator kann nicht in einen Typ aufgelöst werden". Ich versuche, die Storage-Klasse zu nehmen und den Code hinzuzufügen, der notwendig ist, um die Collections-Klasse von Java zu implementieren. Ich denke nicht, dass ich Iterator importieren darf, ich denke, ich muss mein eigenes machen.Probleme beim Erstellen meines eigenen Iterators für eine Sammlungsklasse
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;
}
};
}
}
in der allgemeinen Praxis, Klassen Name beginnt mit Kapitälchen ... 'Storage' –