added updated example codes (#2062)

This commit is contained in:
Seun Matt 2017-06-13 11:58:53 +01:00 committed by Grzegorz Piwowarek
parent f73893bbb9
commit 53f4ec5f87
2 changed files with 41 additions and 20 deletions

View File

@ -12,29 +12,40 @@ public class StringToCharStream {
public StringToCharStream() { public StringToCharStream() {
//let's use the Stream API to manipulate a string //let's use the Stream API to manipulate a string
//this will count the occurrence of each character in the test string //this will count the occurrence of each character in the test string
System.out.println("Counting Occurrence of Letter"); String testString = "tests";
String testString = "Noww";
//we don't want to use foreach, so . . . //first get an IntStream
IntStream intStream = testString.chars();
IntStream intStream1 = testString.codePoints();
Map<Character, Integer> map = new HashMap<>(); //now let's map them
Stream<Character> characterStream = intStream.mapToObj(c -> (char) c);
Stream<Character> characterStream1 = intStream1.mapToObj(c -> (char) c);
testString.codePoints() System.out.println("Counting Occurrence of Letter");
.mapToObj(c -> (char) c) testString = "Noww";
.filter(c -> Character.isLetter(c))
.forEach(c -> { //we don't want to use foreach, so . . .
if(map.containsKey(c)) {
map.put(c, map.get(c) + 1); Map<Character, Integer> map = new HashMap<>();
} else {
map.put(c, 1); testString.codePoints()
} .mapToObj(c -> (char) c)
}); .filter(c -> Character.isLetter(c))
.forEach(c -> {
if(map.containsKey(c)) {
map.put(c, map.get(c) + 1);
} else {
map.put(c, 1);
}
});
//printing out the result here
System.out.println(map.toString());
//printing out the result here
System.out.println(map.toString());
} }

View File

@ -5,7 +5,9 @@ import org.junit.Test;
import java.util.stream.IntStream; import java.util.stream.IntStream;
import java.util.stream.Stream; import java.util.stream.Stream;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
/** /**
@ -17,12 +19,13 @@ public class StringToCharStreamUnitTest {
@Test @Test
public void givenTestString_whenChars_thenReturnIntStream() { public void givenTestString_whenChars_thenReturnIntStream() {
assertTrue(testString.chars() instanceof IntStream);
assertThat(testString.chars(), instanceOf(IntStream.class));
} }
@Test @Test
public void givenTestString_whenCodePoints_thenReturnIntStream() { public void givenTestString_whenCodePoints_thenReturnIntStream() {
assertTrue(testString.codePoints() instanceof IntStream); assertThat(testString.codePoints(), instanceOf(IntStream.class));
} }
@Test @Test
@ -33,4 +36,11 @@ public class StringToCharStreamUnitTest {
assertNotNull("IntStream returned by codePoints() did not map to Stream<Character>", characterStream1); assertNotNull("IntStream returned by codePoints() did not map to Stream<Character>", characterStream1);
} }
@Test
public void givenIntStream_whenMapToObj_thenReturnStringStream(){
Stream<String> stringStream
= testString.codePoints().mapToObj(c -> String.valueOf((char) c));
assertNotNull(stringStream);
}
} }