Feature suggestion: Provide efficient way for nullable value lookup in Map
some-java-user-99206970363698485155 at vodafonemail.de
some-java-user-99206970363698485155 at vodafonemail.de
Tue Jan 8 16:16:02 UTC 2019
Would this method then be useful enough if the default implementation is that inefficient (in case
you only want to get a nullable value)?
> Brian Goetz <brian.goetz at oracle.com> hat am 8. Januar 2019 um 16:57 geschrieben:
>
>
> Here's a default implementation that returns the actual key:
>
> default Optional<Map.Entry<K,V>> getEntry(K key) {
> for (Map.Entry<K,V> e : entrySet) {
> if (Objects.equals(key, e.getKey())
> return Optional.of(e);
> }
> return Optional.empty();
> }
>
> On 1/8/2019 10:50 AM,
> some-java-user-99206970363698485155 at vodafonemail.de wrote:
> > Yes it is now possible to implement the methods `getKey(Object key)` and `getEntry(Object key)`
> > requested by JDK-6552529 as default methods, however both would have to include that
> > "The default implementation returns the provided key. Overriding implementations may return the
> > actual key used by the map."
> > In this case it is questionable how useful the methods actually are, e.g.
> > Two key objects k1 and k2 with `k1.equals(k2)`
> > Two objects m1 and m2 of different map implementations both containing k1.
> > Then the following is possible:
> > m1.getKey(k2) == k2 // true
> > m2.getKey(k2) == k2 // false
> >
> >> Brian Goetz <brian.goetz at oracle.com> hat am 7. Januar 2019 um 00:54 geschrieben:
> >>
> >>
> >> FYI, the comment about compatibility was obsoleted by the addition of
> >> default methods in Java 8.
>
More information about the core-libs-dev
mailing list