![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Hero
![]() |
![]() 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>(); personen.add ("Max"); personen.add ("Doris"); personen.add ("Michael"); personen.add ("Herbert"); for (int i=0; i < 3; i++){ personen.remove(i); } Danke für Eure Hilfe! Grüße Coolbininet
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst! Website RI Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden. |Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker| If you want to see the Sky, fuck a Duck and learn to fly! Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten! Möge die MACHT mit uns sein! |
![]() |
![]() |
![]() |
#2 |
Senior Member
![]() Registriert seit: 21.02.2004
Beiträge: 104
|
![]() 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 |
![]() |
![]() |
![]() |
#3 |
Quantensingularität
![]() |
![]() Oder Du zählst von 3 zurück, dann löscht Du immer den richtigen Index.
Code:
for (int i=2; i=>0; i--){ personen.remove(i); }
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|