package java8stream;
import java.util.Optional;
import java.util.stream.Stream;
/**
* @web http://java-buddy.blogspot.com/
*/
public class Java8Stream {
static String lyrics = "Hello darkness, my old friend,\n"
+ "I've come to talk with you again,\n"
+ "Because a vision softly creeping,\n"
+ "Left its seeds while I was sleeping,\n"
+ "And the vision that was planted in my brain\n"
+ "Still remains\n"
+ "Within the sound of silence.";
public static void main(String[] args) {
System.out.println("--- lyrics ---");
System.out.println(lyrics);
System.out.println("--- Some examples of using Stream ---");
//print all element in Stream<String>
Stream.of(lyrics.split("[\\P{L}]+"))
.forEach((String element) -> System.out.println(element));
//count number of element in Stream
System.out.println("count of words = " +
Stream.of(lyrics.split("[\\P{L}]+")).count());
System.out.println("--- Sorted Stream ---");
Stream<String> sortedStream = Stream.of(lyrics.split("[\\P{L}]+")).sorted();
sortedStream.forEach((String element) -> System.out.println(element));
System.out.println("--- Convert to lower case ---");
Stream<String> sortedStreamLower = Stream.of(lyrics.split("[\\P{L}]+"))
.map(String::toLowerCase);
sortedStreamLower.forEach((String element) -> System.out.println(element));
System.out.println("--- Find the maximum, ignore case, in Stream<String> ---");
Optional<String> max = Stream.of(lyrics.split("[\\P{L}]+"))
.max(String::compareToIgnoreCase);
if(max.isPresent()){
System.out.println("max = " + max.get());
}
System.out.println("--- Find the first word starts with 'c' ---");
Optional<String> startsWithC = Stream.of(lyrics.split("[\\P{L}]+"))
.filter(s->s.startsWith("c")).findFirst();
if(startsWithC.isPresent()){
System.out.println("the first word starts with 'c' = " + startsWithC.get());
}
}
}
Thursday, April 17, 2014
Some examples of using Stream of Java 8
This post show some example of using Stream<String> of Java 8; such as splite String to Stream<String> of words, print all element in Stream, count number of element, sort Stream, convert to lower case, find the maximum, and Find the first word starts with.

No comments:
Post a Comment