Карта была бы жизнеспособной структурой данных для этого, если вы просто хотите посчитать количество писем с указанными фамилиями.Ключом будет строка (фамилия), а значением будет целое число (количество вхождений).
Вы создаете его следующим образом:
Map<String, Integer> nameOccurrences = new HashMap<String, Integer>();
Чтобы добавить значение на карту:
nameOccurrences.put("Smith", 1);
Чтобы проверить, есть ли имя на карте:
if (nameOccurrences.containsKey("Smith")) { ... }
Чтобы получить значение из карты:
Integer occurrences = nameOccurrences.get("Smith");
Обратите внимание, что имена с разным использованием заглавных букв будут считаться разными ключами.Если вам нужно игнорировать заглавные буквы, вам нужно сделать что-то вроде сделать ключи заглавными, прежде чем добавлять их на карту.