Skip to content

Commit 12ffbe0

Browse files
authored
BAEL-1078 Code formatting (eugenp#2539)
1 parent 6d6b245 commit 12ffbe0

3 files changed

Lines changed: 67 additions & 8 deletions

File tree

core-java/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,11 @@
196196
<artifactId>streamex</artifactId>
197197
<version>${streamex.version}</version>
198198
</dependency>
199+
<dependency>
200+
<groupId>io.vavr</groupId>
201+
<artifactId>vavr</artifactId>
202+
<version>${vavr.version}</version>
203+
</dependency>
199204
</dependencies>
200205

201206
<build>
@@ -420,6 +425,7 @@
420425
<fscontext.version>4.6-b01</fscontext.version>
421426
<protonpack.version>1.13</protonpack.version>
422427
<streamex.version>0.6.5</streamex.version>
428+
<vavr.version>0.9.0</vavr.version>
423429

424430
<!-- testing -->
425431
<org.hamcrest.version>1.3</org.hamcrest.version>
Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,72 @@
11
package com.baeldung.stream;
22

3+
import java.util.ArrayList;
34
import java.util.List;
45
import java.util.stream.Collectors;
56
import java.util.stream.IntStream;
67

78
import com.codepoetics.protonpack.Indexed;
89
import com.codepoetics.protonpack.StreamUtils;
910

11+
import io.vavr.Tuple2;
12+
import io.vavr.collection.Stream;
13+
import one.util.streamex.EntryStream;
14+
1015
public class StreamIndices {
1116

1217
public static List<String> getEvenIndexedStrings(String[] names) {
13-
List<String> evenIndexedNames = IntStream.range(0, names.length)
14-
.filter(i -> i % 2 == 0).mapToObj(i -> names[i])
18+
List<String> evenIndexedNames = IntStream
19+
.range(0, names.length)
20+
.filter(i -> i % 2 == 0)
21+
.mapToObj(i -> names[i])
1522
.collect(Collectors.toList());
1623
return evenIndexedNames;
1724
}
1825

26+
public List<String> getEvenIndexedStringsVersionTwo(List<String> names) {
27+
List<String> evenIndexedNames = EntryStream
28+
.of(names)
29+
.filterKeyValue((index, name) -> index % 2 == 0)
30+
.values()
31+
.toList();
32+
return evenIndexedNames;
33+
}
34+
1935
public static List<Indexed<String>> getEvenIndexedStrings(List<String> names) {
20-
List<Indexed<String>> list = StreamUtils.zipWithIndex(names.stream())
21-
.filter(i -> i.getIndex() % 2 == 0).collect(Collectors.toList());
36+
List<Indexed<String>> list = StreamUtils
37+
.zipWithIndex(names.stream())
38+
.filter(i -> i.getIndex() % 2 == 0)
39+
.collect(Collectors.toList());
2240
return list;
2341
}
2442

2543
public static List<Indexed<String>> getOddIndexedStrings(List<String> names) {
26-
List<Indexed<String>> list = StreamUtils.zipWithIndex(names.stream())
27-
.filter(i -> i.getIndex() % 2 == 1).collect(Collectors.toList());
44+
List<Indexed<String>> list = StreamUtils
45+
.zipWithIndex(names.stream())
46+
.filter(i -> i.getIndex() % 2 == 1)
47+
.collect(Collectors.toList());
2848
return list;
2949
}
3050

3151
public static List<String> getOddIndexedStrings(String[] names) {
32-
List<String> oddIndexedNames = IntStream.range(0, names.length)
33-
.filter(i -> i % 2 == 1).mapToObj(i -> names[i])
52+
List<String> oddIndexedNames = IntStream
53+
.range(0, names.length)
54+
.filter(i -> i % 2 == 1)
55+
.mapToObj(i -> names[i])
3456
.collect(Collectors.toList());
3557
return oddIndexedNames;
3658
}
59+
60+
public static List<String> getOddIndexedStringsVersionTwo(String[] names) {
61+
List<Tuple2<String, Integer>> tuples = Stream
62+
.of(names)
63+
.zipWithIndex()
64+
.filter(tuple -> tuple._2 % 2 == 1)
65+
.toJavaList();
66+
List<String> oddIndexedNames = new ArrayList<String>();
67+
tuples.forEach(tuple -> {
68+
oddIndexedNames.add(tuple._1);
69+
});
70+
return oddIndexedNames;
71+
}
3772
}

core-java/src/test/java/com/baeldung/stream/StreamIndicesTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ public void givenArray_whenGetIndexedStrings_thenReturnListOfEvenIndexedStrings(
2020
assertEquals(expectedResult, actualResult);
2121
}
2222

23+
@Test
24+
public void givenArray_whenGetIndexedStrings_thenReturnListOfEvenIndexedStringsVersionTwo() {
25+
String[] names = { "Afrim", "Bashkim", "Besim", "Lulzim", "Durim", "Shpetim" };
26+
List<String> expectedResult = Arrays.asList("Afrim", "Besim", "Durim");
27+
List<String> actualResult = StreamIndices.getEvenIndexedStrings(names);
28+
29+
assertEquals(expectedResult, actualResult);
30+
}
31+
2332
@Test
2433
public void givenArray_whenGetIndexedStrings_thenReturnListOfOddStrings() {
2534
String[] names = { "Afrim", "Bashkim", "Besim", "Lulzim", "Durim", "Shpetim" };
@@ -47,4 +56,13 @@ public void givenList_whenGetIndexedStrings_thenReturnListOfOddIndexedStrings()
4756
assertEquals(expectedResult, actualResult);
4857
}
4958

59+
@Test
60+
public void givenArray_whenGetIndexedStrings_thenReturnListOfOddStringsVersionTwo() {
61+
String[] names = { "Afrim", "Bashkim", "Besim", "Lulzim", "Durim", "Shpetim" };
62+
List<String> expectedResult = Arrays.asList("Bashkim", "Lulzim", "Shpetim");
63+
List<String> actualResult = StreamIndices.getOddIndexedStringsVersionTwo(names);
64+
65+
assertEquals(expectedResult, actualResult);
66+
}
67+
5068
}

0 commit comments

Comments
 (0)