Closed GoogleCodeExporter closed 9 years ago
In a transformEntries() method, one could transform the key as well as the
value, and
we couldn't be sure that two entries weren't transforming their key to the same
value. The result would be a corrupted map.
What would make more sense is a version that accepts a Function<Entry<K, V1>,
V2>;
that is, the key is available to the function but a new key can't be produced.
However, it's too late to change the existing method to work this way, it can't
be
added as an overload, and it -- at this point -- doesn't strike as being widely
useful enough to justify a new method on the class.
However, I'll leave this open for other users to provide additional motivation.
Original comment by kevinb@google.com
on 8 Dec 2009 at 5:32
Tomas's suggestion in Issue 291 did have the form you suggest:
<K,V1,V2> SortedMaps.transformEntries(
SortedMap<K,V1> fromMap,
Function<? super Map.Entry<K,V1>,V2> function
)
Since that issue dealt with SortedMaps, I asked him to file a separate issue
about
the new method.
Original comment by jared.l....@gmail.com
on 8 Dec 2009 at 6:16
Got it; then the problem is that the name "transformEntries" is misleading; it
would
have to be "transformValuesByEntry" or something similarly convoluted.
Original comment by kevinb@google.com
on 8 Dec 2009 at 6:32
Original comment by kevinb@google.com
on 30 Jul 2010 at 3:50
Maps.transformEntries() added. Another issue (291) tracks the creation of a
SortedMaps class.
Original comment by kevinb@google.com
on 2 Aug 2010 at 10:07
This issue has been migrated to GitHub.
It can be found at https://github.com/google/guava/issues/<id>
Original comment by cgdecker@google.com
on 1 Nov 2014 at 4:16
Original comment by cgdecker@google.com
on 3 Nov 2014 at 9:10
Original issue reported on code.google.com by
tomas.za...@gmail.com
on 30 Nov 2009 at 8:51