Skip to content

Commit cc65292

Browse files
committed
Creates a few examples of how to use Streams with Map from Java 8
1 parent b2d9244 commit cc65292

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,65 @@
11
package com.craftcoder.java8.stream.map;
22

3+
import static org.hamcrest.MatcherAssert.assertThat;
4+
import static org.hamcrest.Matchers.contains;
5+
6+
import java.util.Arrays;
7+
import java.util.List;
8+
import java.util.function.Function;
9+
import java.util.stream.Collectors;
10+
11+
import org.junit.Test;
12+
313
public class StreamWithMapTest {
14+
15+
@Test
16+
public void shouldMultiplyEachElementBy2() throws Exception {
17+
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
18+
19+
Function<Integer, Integer> multiplyBy2 = new Function<Integer, Integer>() {
20+
21+
@Override
22+
public Integer apply(Integer number) {
23+
return number * 2;
24+
}
25+
};
26+
27+
List<Integer> multipliedNumbers = numbers
28+
.stream()
29+
.map(multiplyBy2)
30+
.collect(Collectors.toList());
31+
32+
assertThat(multipliedNumbers, contains(2, 4, 6, 8, 10));
33+
}
34+
35+
@Test
36+
public void shouldMultiplyEachElementBy2UsingLambdaExpression() throws Exception {
37+
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
38+
39+
Function<Integer, Integer> multiplyBy2 = number -> number * 2;
40+
41+
List<Integer> multipliedNumbers = numbers
42+
.stream()
43+
.map(multiplyBy2)
44+
.collect(Collectors.toList());
45+
46+
assertThat(multipliedNumbers, contains(2, 4, 6, 8, 10));
47+
}
48+
49+
@Test
50+
public void shouldMultiplyAndTransformIntoStringEachElement() throws Exception {
51+
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
52+
53+
Function<Integer, Integer> multiplyBy2 = number -> number * 2;
54+
Function<Integer, String> transformIntoString = number -> String.valueOf(number);
55+
56+
List<String> multipliedNumbersAsString = numbers
57+
.stream()
58+
.map(multiplyBy2)
59+
.map(transformIntoString)
60+
.collect(Collectors.toList());
61+
62+
assertThat(multipliedNumbersAsString, contains("2", "4", "6", "8", "10"));
63+
}
464

565
}

0 commit comments

Comments
 (0)