The java.util.stream is a sequence of elements supporting sequential and parallel aggregate operations.
Java 8 stream flatmap method example
package com.w3schools;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
public class Test{
public static void main(String[] args) {
try {
long noOfWords = Files.lines(Paths.get("D:\\test.txt"))
.flatMap(l->Arrays.stream(l.split(" +")))
.distinct()
.count();
System.out.println("No Of Words: "+noOfWords);
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.w3schools;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
public class Test{
public static void main(String[] args) {
try {
long noOfWords = Files.lines(Paths.get("D:\\test.txt"))
.flatMap(l->Arrays.stream(l.split(" +")))
.distinct()
.count();
System.out.println("No Of Words: "+noOfWords);
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.w3schools; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Arrays; public class Test{ public static void main(String[] args) { try { long noOfWords = Files.lines(Paths.get("D:\\test.txt")) .flatMap(l->Arrays.stream(l.split(" +"))) .distinct() .count(); System.out.println("No Of Words: "+noOfWords); } catch (Exception e) { e.printStackTrace(); } } }
Output
No Of Words: 2
No Of Words: 2
No Of Words: 2