Каждой букве соответствует новая строка массива.
Если для каждой буквы есть новая строка массива, то правильно ли я понимаю, что имена в строке должны быть конкатенированы или просто для каждой буквы должен быть список имен?
Я бы использовал
HashMap<Character, List<String>>
Кладете в мапу
Character
(ваши буквы). А для соответствующей буквы добавляете имена в
List<String>
Если нужен вариант с конкатенацией, то можно
HashMap<Character, String>
. Соответственно, при добавлении получаете строку и новое имя конкатенируете со со строкой.