Первое, что приходит на ум, это словарь. Ключом будет значение ASCII символа, а значением будет количество раз его использования. Не обязательно самый эффективный способ сделать это, но это один из самых простых.
Вы также можете сделать это с одним массивом и сместить значение 0, чтобы быть первым символом ASCII.
Если вы хотите очень быструю реализацию, HashMap на самом деле очень хорошая идея.
Для параллелизма вы можете использовать ConcurrentHashMap.