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