Fwd: hg: lambda/lambda/jdk: Replace explode() with two forms of flatMap: flatMap(T->Stream<U>), and flatMap(FlatMapper<T, U>)
Brian Goetz
brian.goetz at oracle.com
Thu Feb 7 11:53:30 PST 2013
I pushed an update along the lines of what was discussed yesterday, so
people can take a look. Summary:
- Eliminated "Downstream" abstraction
- Added FlatMapper type (with nested specializations) in j.u.s.
- Added five forms of Stream.flatMap
flatMap(Function<T, Stream<U>)
flatMap(FlatMapper<T,U>)
flatMap(FlatMapper.To{Int,Long,Double}<T>)
- Added one form of flatMap for each primitive stream:
{Int,Long,Double}Stream.flatMap(FlatMapper.{ILD}To{ILD})
Check it out and see what you think. Commit message attached. I think
this is an improvement.
Bikeshedding on naming can continue :)
-------- Original Message --------
Subject: hg: lambda/lambda/jdk: Replace explode() with two forms of
flatMap: flatMap(T->Stream<U>), and flatMap(FlatMapper<T, U>)
Date: Thu, 07 Feb 2013 19:37:14 +0000
From: brian.goetz at oracle.com
To: lambda-dev at openjdk.java.net
Changeset: 3aed6b4f4d42
Author: briangoetz
Date: 2013-02-07 14:36 -0500
URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3aed6b4f4d42
Replace explode() with two forms of flatMap: flatMap(T->Stream<U>), and
flatMap(FlatMapper<T,U>)
! src/share/classes/java/util/stream/DoublePipeline.java
! src/share/classes/java/util/stream/DoubleStream.java
+ src/share/classes/java/util/stream/FlatMapper.java
! src/share/classes/java/util/stream/IntPipeline.java
! src/share/classes/java/util/stream/IntStream.java
! src/share/classes/java/util/stream/LongPipeline.java
! src/share/classes/java/util/stream/LongStream.java
! src/share/classes/java/util/stream/ReferencePipeline.java
! src/share/classes/java/util/stream/Stream.java
! test-ng/bootlib/java/util/stream/LambdaTestHelpers.java
! test-ng/boottests/java/util/stream/SpinedBufferTest.java
! test-ng/tests/org/openjdk/tests/java/util/stream/ExplodeOpTest.java
! test-ng/tests/org/openjdk/tests/java/util/stream/ToArrayOpTest.java
! test/java/util/LambdaUtilities.java
! test/java/util/stream/Stream/EmployeeStreamTest.java
! test/java/util/stream/Stream/IntStreamTest.java
! test/java/util/stream/Stream/IntegerStreamTest.java
! test/java/util/stream/Stream/StringBuilderStreamTest.java
! test/java/util/stream/Streams/BasicTest.java
More information about the lambda-libs-spec-observers
mailing list