Learn how to find length of String array using Java 8 Streams with Stream.of() , mapToInt() , and IntStream examples.
Code Explanation point wise :
- A String array named arrayString is created with values like Java, spring, hibernate, com and javatechnote.
- Stream.of(arrayString) converts the String array into a Stream.
- mapToInt(String::length) converts each String into its length .
- The lengths are stored in an IntStream.
- forEach(System.out::println) prints each length value.
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class Test4 {
public static void main(String[] args) {
String[] arrayString = { "java", "spring", "hibernate", "com",
"javatechnote" };
System.out.println("Length of all strings are:");
IntStream inStream = Stream.of(arrayString).mapToInt(String::length);
inStream.forEach(System.out::println);
}
}
Output :
Length of all strings are:
4
6
9
3
12
Finding Total Length of All Strings
import java.util.Arrays;
public class LengthOfString {
public static void main(String[] args) {
String[] str = { "java", "spring", "hibernate", "com", "javatechnote" };
int sum = Arrays.stream(str)
.mapToInt(String::length)
.sum();
System.out.println("Total Length: " + sum);
}
}
Output :
Total Length: 34
Here are some related Java 8 programs that will help you understand Stream API concepts better:
FAQ
How do I find the length of each string in an array using Java 8?
Use Stream.of(array).mapToInt(String::length) to convert strings into their lengths.
What does mapToInt() do in Java Streams?
mapToInt() converts a Stream of objects into an IntStream of primitive integers.
Why use IntStream instead of Stream?
IntStream avoids boxing and unboxing, improving performance.
Can I find the longest string length using Streams?
Yes.
int maxLength = Stream.of(str)
.mapToInt(String::length)
.max()
.orElse(0);