Skip to content

Commit 708d64c

Browse files
committed
BAEL-8901 Add section in "Stream operations on Strings" article
- Added string array to map example.
1 parent 977c50a commit 708d64c

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

java-strings/src/main/java/com/baeldung/string/JoinerSplitter.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Arrays;
44
import java.util.List;
5+
import java.util.Map;
56
import java.util.stream.Collectors;
67
import java.util.stream.Stream;
78

@@ -32,5 +33,12 @@ public static List<Character> splitToListOfChar ( String str ) {
3233
.mapToObj(item -> (char) item)
3334
.collect(Collectors.toList());
3435
}
36+
37+
public static Map<String, String> arrayToMap(String[] arrayOfString) {
38+
return Arrays.asList(arrayOfString)
39+
.stream()
40+
.map(str -> str.split(":"))
41+
.collect(Collectors.<String[], String, String>toMap(str -> str[0], str -> str[1]));
42+
}
3543

3644
}

java-strings/src/test/java/com/baeldung/string/JoinerSplitterUnitTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import org.junit.Test;
44

55
import java.util.ArrayList;
6+
import java.util.HashMap;
67
import java.util.List;
8+
import java.util.Map;
79

810
import static org.junit.Assert.assertEquals;
911

@@ -62,5 +64,20 @@ public void givenString_transformedToStream_convertToListOfChar() {
6264
assertEquals(result, expectation);
6365

6466
}
67+
68+
@Test
69+
public void givenStringArray_transformedToStream_convertToMap() {
70+
71+
String[] programming_languages = new String[] {"language:java","os:linux","editor:emacs"};
72+
73+
Map<String,String> expectation=new HashMap<>();
74+
expectation.put("language", "java");
75+
expectation.put("os", "linux");
76+
expectation.put("editor", "emacs");
77+
78+
Map<String, String> result = JoinerSplitter.arrayToMap(programming_languages);
79+
assertEquals(result, expectation);
80+
81+
}
6582

6683
}

0 commit comments

Comments
 (0)