Skip to content

Commit 567a208

Browse files
committed
Day 2 reduce, Monoid
1 parent 390a3b7 commit 567a208

4 files changed

Lines changed: 46 additions & 0 deletions

File tree

Capture 12.png

3.58 MB
Loading

Capture 13.png

3.61 MB
Loading

Capture 14.png

3.61 MB
Loading
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package streams;
2+
3+
import java.util.List;
4+
import java.util.Map;
5+
import java.util.Optional;
6+
import java.util.stream.IntStream;
7+
import java.util.stream.Stream;
8+
9+
public class SimpleStream {
10+
public static void main(String[] args) {
11+
List<String> ls = List.of("Fred", "Jim", "Sheila");
12+
Stream<String> ss = ls.stream();
13+
ss
14+
.filter(s -> s.length() > 3)
15+
.forEach(s -> System.out.println(s));
16+
ls.stream()
17+
.forEach(s -> System.out.println(s));
18+
19+
// Stream.iterate(1, x -> x + 1)
20+
// .forEach(x -> System.out.println(x));
21+
22+
// var result = Stream.iterate(1, x -> x + 1)
23+
// .limit(10)
24+
// .reduce(0, (a, b) -> a + b);
25+
// .forEach(x -> System.out.println(x));
26+
27+
var result = IntStream.iterate(1, x -> x + 1)
28+
.limit(0)
29+
.reduce((a, b) -> a + b);
30+
// System.out.println("sum is " + result);
31+
result.ifPresentOrElse(x -> System.out.println("the sum is " + x),
32+
() -> System.out.println("There wasn't any data"));
33+
34+
Map<String, String> names = Map.of("Fred", "Jones");
35+
String first = "Freddy"; // assume a computation
36+
37+
// String last = names.get(first);
38+
// String message = "Dear " + last.toUpperCase();
39+
// System.out.println(message);
40+
41+
Optional.of(names)
42+
.map(m -> m.get(first))
43+
.map(l -> "Dear " + l.toUpperCase())
44+
.ifPresentOrElse(x -> System.out.println(x), () -> System.out.println("No such client"));
45+
}
46+
}

0 commit comments

Comments
 (0)