hg: lambda/lambda/jdk: more renaming related to MapStream

Rémi Forax forax at univ-mlv.fr
Tue May 1 18:28:25 PDT 2012


On 05/02/2012 01:43 AM, mike.duigou at oracle.com wrote:
> Changeset: 4887a040084c
> Author:    mduigou
> Date:      2012-05-01 16:43 -0700
> URL:       http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4887a040084c
>
> more renaming related to MapStream
>
> Adds MapStream.swap() for swapping keys and values.
>
> Adds (very basic) implementation and tests for groupBy and GroupByMulti (missing test due to generics disaster)
>
> ! src/share/classes/java/lang/BiVal.java
> ! src/share/classes/java/lang/BiValue.java
> ! src/share/classes/java/lang/Iterable.java
> ! src/share/classes/java/lang/MapStream.java
> ! src/share/classes/java/util/Enumeration.java
> ! test-ng/tests/org/openjdk/tests/java/util/MapStreamTest.java
>
>
swap should be:

                     @Override
                     public Iterator<BiValue<V, K>>  iterator() {
                         return new Iterator<BiValue<V, K>>() {

                             final Iterator<? extends BiValue<K, V>>  source = MapStream.this.asIterable().iterator();

                             @Override
                             public boolean hasNext() {
                                 return source.hasNext();
                             }

                             @Override
                             public BiValue<V, K>  next() {
                                 final BiValue<K,V>  unmapped = source.next();

                                 return new BiValue<k,V>() {
                                    @Override
                                    public K getKey() {
                                      return unmapped.getValue();
                                    }
                                    @Override
                                    public K getValue() {
                                      return unmapped.getKey();
                                    }
                                    //+ equals and hashcode (and serialization ??)

                                    // note that if we use Map.Entry instead of BiValue
                                    // partial implementations of Entry already exist
                                    // in AbstractMap.
                                 };
                             }
                         };
                     }


Rémi



More information about the lambda-dev mailing list