|
5 | 5 | import fj.function.Try1; |
6 | 6 | import fj.function.Try2; |
7 | 7 |
|
| 8 | +import java.util.Iterator; |
8 | 9 | import java.util.Optional; |
9 | 10 | import java.util.Spliterator; |
10 | 11 | import java.util.Spliterators; |
@@ -95,6 +96,10 @@ static public <A, B, C, E extends Exception> F<Try2<A, B, C, E>, BiFunction<A, B |
95 | 96 | return t -> (a, b) -> Try.f(t).f(a, b); |
96 | 97 | } |
97 | 98 |
|
| 99 | + public static <A> java.util.stream.Stream<A> List_JavaStream(List<A> list) { |
| 100 | + return Iterable_JavaStream(list); |
| 101 | + } |
| 102 | + |
98 | 103 | static public <A> Option<A> Optional_Option(final Optional<A> o) { |
99 | 104 | return Java8.<A>Optional_Option().f(o); |
100 | 105 | } |
@@ -122,13 +127,32 @@ public static <A> F<A, Unit> Consumer_F(Consumer<A> c) { |
122 | 127 | }; |
123 | 128 | } |
124 | 129 |
|
125 | | - static public <A> java.util.stream.Stream<A> Stream_JStream(fj.data.Stream<A> s) { |
126 | | - Spliterator<A> sit = Spliterators.spliteratorUnknownSize(s.iterator(), 0); |
127 | | - return StreamSupport.stream(sit, false); |
| 130 | + static public <A> java.util.stream.Stream<A> Stream_JavaStream(fj.data.Stream<A> s) { |
| 131 | + return Iterable_JavaStream(s); |
| 132 | + } |
| 133 | + |
| 134 | + static public <A> java.util.stream.Stream<A> Iterable_JavaStream(Iterable<A> it) { |
| 135 | + return StreamSupport.stream(it.spliterator(), false); |
| 136 | + } |
| 137 | + |
| 138 | + static public <A> java.util.stream.Stream<A> Iterator_JavaStream(Iterator<A> it) { |
| 139 | + return Iterable_JavaStream(() -> it); |
| 140 | + } |
| 141 | + |
| 142 | + static public <A> F<fj.data.Stream<A>, java.util.stream.Stream<A>> Stream_JavaStream() { |
| 143 | + return s -> Stream_JavaStream(s); |
| 144 | + } |
| 145 | + |
| 146 | + static public <A> Stream<A> JavaStream_Stream(java.util.stream.Stream<A> s) { |
| 147 | + return s.collect(Collectors.toStream()); |
| 148 | + } |
| 149 | + |
| 150 | + static public <A> List<A> JavaStream_List(java.util.stream.Stream<A> s) { |
| 151 | + return s.collect(Collectors.toList()); |
128 | 152 | } |
129 | 153 |
|
130 | | - static public <A> F<fj.data.Stream<A>, java.util.stream.Stream<A>> Stream_JStream() { |
131 | | - return s -> Stream_JStream(s); |
| 154 | + static public <A> Array<A> JavaStream_Array(java.util.stream.Stream<A> s) { |
| 155 | + return s.collect(Collectors.toArray()); |
132 | 156 | } |
133 | 157 |
|
134 | 158 | } |
0 commit comments