Hi,
also ich stehe (mal wieder...) vor einem Problem. Und zwar habe ich mittlerweile eine ArrayList mit n-Objekten erstellt, aus der ich ein Objekt mittels Iterator auslese. Nun wird mir das Objekt (eine Zahl) auf dem Bildschirm mittels System.out.println(); angezeigt. Gleichzeitig wird es aus der ArrayList entfernt, so dass nun nur noch n-1 Objekte vorhanden sind. Nun möchte ich im nächsten Schritt lediglich mit den n-1 Objekten weiter fortfahren. Bei mir nimmt er jedoch wieder die Liste mit n Objekten.
Wie kann ich das umgehen? Muss ich eventuell die Liste mit n-1 Objekten in eine weitere ArrayList speichern und dann mit der neuen Liste weitermachen? Geht es vielleicht auch noch irgendwie anders? Sonst hätte man bei vielen Objekten doch ziemlich viel Code, oder?
Hier ist nun der Code:
also ich stehe (mal wieder...) vor einem Problem. Und zwar habe ich mittlerweile eine ArrayList mit n-Objekten erstellt, aus der ich ein Objekt mittels Iterator auslese. Nun wird mir das Objekt (eine Zahl) auf dem Bildschirm mittels System.out.println(); angezeigt. Gleichzeitig wird es aus der ArrayList entfernt, so dass nun nur noch n-1 Objekte vorhanden sind. Nun möchte ich im nächsten Schritt lediglich mit den n-1 Objekten weiter fortfahren. Bei mir nimmt er jedoch wieder die Liste mit n Objekten.
Wie kann ich das umgehen? Muss ich eventuell die Liste mit n-1 Objekten in eine weitere ArrayList speichern und dann mit der neuen Liste weitermachen? Geht es vielleicht auch noch irgendwie anders? Sonst hätte man bei vielen Objekten doch ziemlich viel Code, oder?
Hier ist nun der Code:
Java:
import java.util.*;
public class forum {
public static void main(String args[]){
ArrayList<Integer> number = new ArrayList<Integer>();
number.add(0);
number.add(1);
number.add(2);
number.add(3);
Collections.shuffle(number);
System.out.println("Liste zu Beginn");
System.out.println(number);
Iterator<Integer> iterator = number.iterator();
while(iterator.hasNext()){
switch(iterator.next()){
case 0:
iterator.remove();
break;
case 1:
iterator.remove();
break;
case 2:
iterator.remove();
break;
case 3:
iterator.remove();
break;
}
System.out.println("Liste am Ende");
System.out.println(number);
break;
}
}
}
Zuletzt bearbeitet: