Schauen Sie sich zunächst den Code unten an:
Java.util.LinkedList; a ") ;; (" b "); list.add (" c "); list.add (" d "); list.add (" e "); für (int i = 0; i <list.size ();Der obige Code sollte entsprechend der Idee richtig sein, und das Ergebnis der Ausgabe sollte 0 sein
Sehen Sie sich die Ergebnisse der tatsächlichen Ausgabe unten an:
Anzahl der verbleibenden Elemente: 2
Sie können fragen, warum? Da die Größe der Sammlung dynamisch ist, ist die Seriennummer im Element erneut angeordnet. Dritter. ));
Das Ergebnis der Ausgabe nach dem Verbinden der obigen Anweisung:
Elemente, die im Begriff sind, gelöscht zu werden: a
Elemente, die im Begriff sind, gelöscht zu werden: C.
Elemente, die im Begriff sind, gelöscht zu werden: e
Anzahl der verbleibenden Elemente: 2
Lösung:
Der Grund dafür ist, dass die Elemente, die Sie löschen möchten, vorwärts gehen und der Wert Ihres I -Speichers immer noch zurückgeht. Wenn ich also zurückgehen und vorwärts gehen kann, können Sie die zweite im zweiten löschen. Die Position ist jetzt in der ersten Position eingestuft.
Der Kerncode nach der Änderung:
für (int i = 0; i <list.size (); i ++) {System.out.println ("" Elemente, die gelöscht werden sollen: "+list.get (i)); list.remove (REMOVE ( i); i ------------------------------;}Ergebnis:
Elemente, die im Begriff sind, gelöscht zu werden: a
Elemente, die kurz gelöscht werden sollen: B
Elemente, die im Begriff sind, gelöscht zu werden: C.
Elemente, die kurz gelöscht werden sollen: D.
Elemente, die im Begriff sind, gelöscht zu werden: e
Anzahl der verbleibenden Elemente: 0
Das obige ist der gesamte Inhalt dieses Artikels.