![]() |
IndexOutOfBounds Problem in Java
Hallo Leute
Habe folgendes Problem mit einer ArrayList . Möchte die ersten drei Einträge mit einer for - Schleife und dem remove Befehl entfernen, bekomme aber die Meldung laut Betreff. Jetzt habe ich diverse Java Dokumentation durchgeschmökert und da steht dann so was wie, irgendwelche Elemente werden dann nach links geschiftet und deren Index um eins reduziert, dürfte etwas mit der internen Behandlung von ArrayList zu tun haben. Code:
ArrayList <String> personen = new ArrayList <String>(); Danke für Eure Hilfe! Grüße Coolbininet |
Hi ich glaub ich weiß wo dein Problem ist.
Das Problem ist, dass du mit i über das Array hinauskommst. Also du hast diese vier personen gespeichert. personen.add ("Max"); personen.add ("Doris"); personen.add ("Michael"); personen.add ("Herbert"); Beim ersten aufuf löschst du die erste Person (Max)--> 3Personen Beim näcshten Aufruf löschst du Person nummer mit Indexnr:1 (Michael und nicht Doris wie gewüscht), da die ArrayList nur noch 3 Personen beinhaltet. So gehts z.B for (int i=0; i < 3; i++){ personen.remove(0); } Dann löschst du immernur die vorderste Person lg |
Oder Du zählst von 3 zurück, dann löscht Du immer den richtigen Index.
Code:
for (int i=2; i=>0; i--){ |
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag