Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #36290
| From | Knute Johnson <nospam@rabbitbrush.frazmtn.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Removing an element while iterating over a List with enhanced for? |
| Date | 2017-02-16 11:17 -0600 |
| Organization | A noiseless patient Spider |
| Message-ID | <o84mo2$lrp$1@dont-email.me> (permalink) |
| References | <o82m7a$tls$1@dont-email.me> <o83759$lhe$1@gioia.aioe.org> |
On 2/15/2017 21:43, Arne Vajhøj wrote: > On 2/15/2017 5:56 PM, Knute Johnson wrote: >> An enhanced for loop on a List is no different than using an Iterator >> right? So is there any problem removing the current element from the >> list while using the enhanced for loop? I couldn't find anything that >> said it was OK or not OK in the JLS. > >> List<Integer> list = Stream.of(1,5,7,9,13).collect(toList()); >> >> for (Integer i : list) >> if (i == 9) >> list.remove(i); >> >> list.forEach(System.out::println); >> >> list = Stream.of(1,5,7,9,13).collect(toList()); >> >> Iterator<Integer> iter = list.iterator(); >> >> while (iter.hasNext()) >> if (iter.next() == 9) >> iter.remove(); >> >> list.forEach(System.out::println); > > Since you are already using streams and lambdas then why not: > > list = list.stream().filter(v -> v != 9).collect(toList()); > > ? > > Arne > > That's where I'm going eventually. The real code is a lot more complex and I got distracted by something that shouldn't have worked :-). -- Knute Johnson
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Removing an element while iterating over a List with enhanced for? Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2017-02-15 16:56 -0600
Re: Removing an element while iterating over a List with enhanced for? Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-02-15 18:24 -0500
Re: Removing an element while iterating over a List with enhanced for? Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2017-02-15 17:51 -0600
Re: Removing an element while iterating over a List with enhanced for? Arne Vajhøj <arne@vajhoej.dk> - 2017-02-15 22:43 -0500
Re: Removing an element while iterating over a List with enhanced for? Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2017-02-16 11:17 -0600
Re: Removing an element while iterating over a List with enhanced for? Robert Klemme <shortcutter@googlemail.com> - 2017-02-16 18:30 +0100
Re: Removing an element while iterating over a List with enhanced for? Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2017-02-16 11:35 -0600
Re: Removing an element while iterating over a List with enhanced for? Arne Vajhøj <arne@vajhoej.dk> - 2017-02-16 14:02 -0500
Re: Removing an element while iterating over a List with enhanced for? v_borchert@despammed.com (Volker Borchert) - 2017-02-16 20:09 +0000
Re: Removing an element while iterating over a List with enhanced for? Robert Klemme <shortcutter@googlemail.com> - 2017-02-16 23:21 +0100
csiph-web