Hi,
Ich hab hier als Aufgabe folgendes bekommen:
Ich soll next() und hasNext() bauen, dass die Zahlen aus meinem HashSet aufsteigend ausgegeben werden.
Meine Frage jetzt:
In der Main wird erst 1, dann 5 geadded, dann beide abgerufen, dann 4 geadded.
Wenn ich jetzt .next() mache ist doch 4<5, also muss ich nichts ausgeben, richtig?
Allgemein ist das doch komisch einen Iterator mit add() auszustatten, oder? :autsch:
Ich hab hier als Aufgabe folgendes bekommen:
Java:
public class NumIterator implements Iterator<Integer>{
private HashSet<Integer> N;
public NumIterator() {
N = new HashSet<Integer>();
}
public void add(int x) {
N.add(x);
}
public boolean hasNext() {
}
public _____ next() {
}
public void remove() { /*ignorieren*/}
public static void main(String[] args) {
NumIterator NI = new NumIterator();
NI.add(1);
NI.add(5);
while (NI.hasNext()) {
System.out.println(NI.next());
}
NI.add(4);
while (NI.hasNext()) {
System.out.println(NI.next());
}
}
}
Ich soll next() und hasNext() bauen, dass die Zahlen aus meinem HashSet aufsteigend ausgegeben werden.
Meine Frage jetzt:
In der Main wird erst 1, dann 5 geadded, dann beide abgerufen, dann 4 geadded.
Wenn ich jetzt .next() mache ist doch 4<5, also muss ich nichts ausgeben, richtig?
Allgemein ist das doch komisch einen Iterator mit add() auszustatten, oder? :autsch: