Java - How do I find the length of a string in an array?
Categories:
Java: How to Find the Length of a String Within an Array

Learn various methods to determine the length of individual strings stored in a Java array, covering basic iteration, enhanced for loops, and Stream API approaches.
In Java, strings are objects, and arrays are also objects. When you have an array of strings, you're dealing with an array where each element is a String object. Finding the length of individual strings in such an array is a common task. This article will guide you through different approaches to achieve this, from basic loops to more modern Java features.
Understanding String Arrays in Java
Before diving into length calculations, it's crucial to understand how string arrays are structured. An array like String[] names holds references to String objects. The array itself has a fixed length (e.g., names.length), which tells you how many elements (string references) it can hold. Each individual String object, however, has its own length() method to determine the number of characters it contains.

Structure of a String Array in Java
Method 1: Using a Standard For Loop
The most fundamental way to iterate through an array and access each string is by using a standard for loop. This method provides direct control over the array index, allowing you to retrieve each string and then call its length() method.
public class StringArrayLength {
public static void main(String[] args) {
String[] fruits = {"Apple", "Banana", "Cherry", "Date"};
System.out.println("Lengths using a standard for loop:");
for (int i = 0; i < fruits.length; i++) {
String currentFruit = fruits[i];
int length = currentFruit.length();
System.out.println("\"" + currentFruit + "\" has length: " + length);
}
}
}
Using a standard for loop to find string lengths
array.length (without parentheses) gives the size of the array, while string.length() (with parentheses) gives the length of a specific string.Method 2: Using an Enhanced For Loop (For-Each Loop)
For simpler iteration where you don't need the index, the enhanced for loop (also known as the for-each loop) provides a more concise and readable syntax. It directly gives you each element of the array.
public class StringArrayLengthEnhanced {
public static void main(String[] args) {
String[] vegetables = {"Carrot", "Broccoli", "Spinach", "Potato"};
System.out.println("Lengths using an enhanced for loop:");
for (String veg : vegetables) {
int length = veg.length();
System.out.println("\"" + veg + "\" has length: " + length);
}
}
}
Using an enhanced for loop for string lengths
Method 3: Using Java Stream API (Java 8+)
For more functional programming approaches, Java 8 introduced the Stream API, which can be very powerful for processing collections and arrays. You can convert the array to a stream, then use map to transform each string into its length, and finally forEach to print the results or collect them into a new list.
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StringArrayLengthStream {
public static void main(String[] args) {
String[] animals = {"Dog", "Cat", "Elephant", "Tiger", "Lion"};
System.out.println("Lengths using Java Stream API:");
Arrays.stream(animals)
.map(String::length) // Map each string to its length
.forEach(length -> System.out.println("String length: " + length));
System.out.println("\nCollecting lengths into a List:");
List<Integer> lengthsList = Arrays.stream(animals)
.map(String::length)
.collect(Collectors.toList());
System.out.println("List of lengths: " + lengthsList);
}
}
Calculating string lengths using Java Stream API
null string elements in an array, calling length() on a null reference will result in a NullPointerException. Always handle null checks if your array might contain null values.public class NullSafeStringLength {
public static void main(String[] args) {
String[] items = {"Pen", null, "Eraser", "Book"};
System.out.println("Null-safe lengths:");
for (String item : items) {
if (item != null) {
System.out.println("\"" + item + "\" has length: " + item.length());
} else {
System.out.println("Null item encountered.");
}
}
}
}
Handling null values when calculating string lengths
Each method has its advantages. The standard for loop offers maximum control, the enhanced for loop is great for readability, and the Stream API provides a powerful, declarative way to process data for more complex scenarios. Choose the method that best fits your specific needs and coding style.