Знаю що можна зробити по інакшому але хотілось застосувати саме HashMap.
Чи можливо відсортувати HashMap - TreeMap у потрібному мені порядку ато остання літера у TreeMap стоїть не так як мені потрібно.
Наперед дякую.
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
/*
Количество букв
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// Алфавит
List<Character> alphabet = Arrays.asList(
'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж',
'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о',
'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц',
'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
// Ввод строк
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
String s = reader.readLine();
list.add(s.toLowerCase());
}
Map<Character,Integer> map = new HashMap<>();
for ( Character s : alphabet){
map.put(s,0);
}
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.get(i).length(); j++) {
char c = list.get(i).charAt(j);
if (alphabet.contains(c)){
map.put(c,map.get(c) +1);
}
}
}
Map<Character,Integer> treeMap = new TreeMap<>(map);
for(Map.Entry<Character,Integer> entry : treeMap.entrySet()){
System.out.println(entry.getKey().toString() + " " + entry.getValue().toString());
}
}
}