adding more functionality in split/join, added chars() usage (#1155)

* rest with spark java

* 4

* Update Application.java

* indentation changes

* spring @requestmapping shortcuts

* removing spring requestmapping and pushing spring-mvc-java

* Joining/Splitting Strings with Java and Stream API

* adding more join/split functionality
This commit is contained in:
Abhinab Kanrar 2017-02-11 20:59:57 +05:30 committed by maibin
parent 63b042a9d8
commit c670ac9166
7 changed files with 42 additions and 2 deletions

View File

View File

View File

View File

View File

View File

@ -14,10 +14,23 @@ public class JoinerSplitter {
.collect(Collectors.joining(","));
}
public static String joinWithPrefixPostFix ( String[] arrayOfString ) {
return Arrays.asList(arrayOfString)
.stream()
.map(x -> x)
.collect(Collectors.joining(",","[","]"));
}
public static List<String> split ( String str ) {
return Stream.of(str.split(","))
.map (elem -> new String(elem))
.collect(Collectors.toList());
}
public static List<Character> splitToListOfChar ( String str ) {
return str.chars()
.mapToObj(item -> (char) item)
.collect(Collectors.toList());
}
}

View File

@ -13,7 +13,9 @@ public class JoinerSplitterTest {
@Test
public void provided_array_convert_to_stream_and_convert_to_string() {
String[] programming_languages = {"java", "python", "nodejs", "ruby"};
String expectation = "java,python,nodejs,ruby";
String result = JoinerSplitter.join(programming_languages);
@ -21,7 +23,17 @@ public class JoinerSplitterTest {
}
@Test
public void provided_list_convert_to_stream_and_convert_to_list() {
public void provided_array_convert_to_stream_and_convert_to_prefixPostfixString() {
String[] programming_languages = {"java", "python",
"nodejs", "ruby"};
String expectation = "[java,python,nodejs,ruby]";
String result = JoinerSplitter.joinWithPrefixPostFix(programming_languages);
assertEquals(result, expectation);
}
@Test
public void provided_string_convert_to_stream_and_convert_to_listOfString() {
String programming_languages = "java,python,nodejs,ruby";
List<String> expectation = new ArrayList<String>();
@ -34,5 +46,20 @@ public class JoinerSplitterTest {
assertEquals(result, expectation);
}
@Test
public void provided_string_convert_to_stream_and_convert_to_listOfChar() {
String programming_languages = "java,python,nodejs,ruby";
List<Character> expectation = new ArrayList<Character>();
char[] charArray = programming_languages.toCharArray();
for (char c : charArray) {
expectation.add(c);
}
List<Character> result = JoinerSplitter.splitToListOfChar(programming_languages);
assertEquals(result, expectation);
}
}