enhanced for loop with multiple iteration variables
Remi Forax
forax at univ-mlv.fr
Thu Dec 20 23:00:34 UTC 2018
or
map.forEach((key, value) -> {
...
});
Rémi
----- Mail original -----
> De: "Brian Goetz" <brian.goetz at oracle.com>
> À: "Alan Snyder" <fishgarage at cbfiddle.com>, "core-libs-dev" <core-libs-dev at openjdk.java.net>
> Envoyé: Jeudi 20 Décembre 2018 23:50:15
> Objet: Re: enhanced for loop with multiple iteration variables
> For Map, you can do:
>
> for (Map.Entry<K,V> e : map.entrySet()) { ... }
>
> and you're already there.
>
>
>
> On 12/19/2018 9:54 AM, Alan Snyder wrote:
>> Has any consideration been given to supporting iterators that provide more than
>> one iteration variable in the enhanced for loop?
>>
>> Obvious uses would be maps (keys and values) and lists (indexes and values).
>>
>> I have in mind keeping the syntactic sugar approach by using one or more
>> extensions of the Iterator/Iterable interfaces, such as, for example:
>>
>> interface Iterator2<E1,E2> extends Iterator<E1> {
>> E2 get2();
>> }
>>
>> with the extra methods providing the values for the extra variables (associated
>> with the previous call to next).
>>
>> Extending interfaces is not required, but it makes the trailing variables
>> optional, which might be useful. For example, the same iterator could provide
>> values or values and keys.
>>
>> The fact that this approach only works for a fixed set of numbers of variables
>> does not bother me unduly.
>>
>> Alan
More information about the core-libs-dev
mailing list