[ https://issues.apache.org/jira/browse/JEXL-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16582476#comment-16582476 ]
Henri Biestro commented on JEXL-266: ------------------------------------ Augmented example with 2nd overload; it follows your expectation that iterating on a map iterates on its values() which may not be expected; entries() would be a another possible choice. > Allow to remove an element from iterator collection within for-loops > -------------------------------------------------------------------- > > Key: JEXL-266 > URL: https://issues.apache.org/jira/browse/JEXL-266 > Project: Commons JEXL > Issue Type: New Feature > Affects Versions: 3.1 > Environment: I have created a patch as initial implementation for > this new feature, please see github pull request here > [pr#5|https://github.com/apache/commons-jexl/pull/5]. I whould be very > grateful if this could be interesting for the community and included in > master branch. Thanks in advance! > Reporter: Dmitri Blinov > Priority: Minor > > The for-loop in JEXL provides a convenient way to iterate over different > types of collections, however, its not possible for a script writer to > utilize underlying > {code:java} > iterator.remove(){code} > method within such a loop. The proposal is to introduce new {{remove}} > statement which should be used within for-loops and should internally call > {{iterator.remove()}} method and skip the loop to the next element; > For example, the following code should remove items {{1,2,3}} from set and > return value {{3}}. > {code:java} > var set = {1,2,3,4,5,6}; for (var item : set) if (item <= 3) remove; return > size(set) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)