Hvordan legge til element i List mens du itererer i java?
La oss si at jeg har en liste som:
List<String> list = new ArrayList<>();
list.add("a");
list.add("h");
list.add("f");
list.add("s");
Mens jeg itererer gjennom denne listen, vil jeg legge til et element på slutten av listen. Men jeg vil ikke iterere gjennom de nylig tilføyde elementene, det vil si at jeg vil iterere opp til den opprinnelige størrelsen på listen.
for (String s : list)
/* Here I want to add new element if needed while iterating */
Kan noen foreslå meg hvordan kan jeg gjøre dette?
27
3
Iterere gjennom en kopi av listen og legge til nye elementer i den opprinnelige listen.
Se https://stackoverflow.com/questions/3410035/how-to-make-a-copy-of-arraylist-object-which-is-type-of-list
Bare iterer på den gammeldagse måten, fordi du trenger eksplisitt indekshåndtering:
Du kan iterere på en kopi (klone) av den opprinnelige listen:
Merk at det ikke engang er mulig å legge til et nytt element i en liste mens du itererer på den, fordi det vil resultere i en
ConcurrentModificationException
.