Find Length of String Array Using Java 8 Streams

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

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);