Как в списке отличить буквы и ЗАГЛАВНЫЕ БУКВЫ от всего остального?
Открой таблицу ASCII кодов. Дальше все просто должно быть.
Регулярные выражения здесь для аккуратности. Считать предлагаю так:
Pattern patternUppercase = Pattern.compile("[A-Z]");
Pattern patternLowercase = Pattern.compile("[a-z]");
int countCapitals = 0;
int countLowcaseCharacters = 0;
Matcher m = patternUppercase.matcher(string);
while (m.find()) {
            countCapitals++;
}
m = patternLowercase.matcher(string);
while (m.find()) {
            countLowcaseCharacters++;
}