На ваши первые вопросы, насколько велик ваш массив? Если размер не является проблемой, я бы использовал regexp для его достижения.
Замените все, что не в az, и если оставшаяся длина строки равна нулю, означает, что все символы от az.
private static boolean validateChar(char[] arr) {
if (arr == null || arr.length == 0) {
return false;
}
return new String(arr).replaceAll("[!a-z]", "").length() == 0;
}
Что касается вашего второго вопроса, я думаю, что HashMap справится с задачей лучше, чем 2d массив, если у вас нет особых требований, которым действительно нужен 2d массив.