Approach 1
import java.util.Arrays; import java.util.List; public class CountStringsExample { public static void main(String[] args) { List<String> words = Arrays.asList("apple", "banana", "apricot", "cherry", "avocado"); // Specify the letter to check char startLetter = 'a'; // Using Stream to count strings starting with the specified letter long count = words.stream() .filter(s -> s.toLowerCase().startsWith(String.valueOf(startLetter))) .count(); System.out.println("Number of strings starting with '" + startLetter + "': " + count); } }
Approach 2
import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class CountUsingFiltering { public static void main(String[] args) { List<String> words = Arrays.asList("apple", "banana", "apricot", "cherry", "avocado"); char startLetter = 'a'; // Using Collectors.filtering with counting long count = words.stream() .collect(Collectors.collectingAndThen( Collectors.filtering( s -> s.toLowerCase().startsWith(String.valueOf(startLetter)), Collectors.counting() ), Long::longValue )); System.out.println("Number of strings starting with '" + startLetter + "': " + count); } }