Подскажите, пожалуйста, как правильно отсортировать это все дело.
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
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());
}
String b="g";
// соединяем строку в одну
for (int i = 0; i < list.size();i++)
{
String a = list.get(i);
b= b+ a;
}
String c=b.replace("g","");
// System.out.print(c);
// преварщаем строку в массив символов
char[] chArr = c.toCharArray();
//создание словаря
Map <Character, Integer> map = new HashMap<>();
for(int i =0; i< alphabet.size();i++)
{
char her = alphabet.get(i);
map.put(her,0);
}
// заполняем словарь значеняими
for(int i = 0; i< chArr.length; i++)
{
for (Map.Entry<Character, Integer> pair : map.entrySet())
{
char key = pair.getKey(); //ключ
int value = pair.getValue();
if(chArr[i]==key){
map.put(key,value+1);
}
}
}
//вывод словаря
for (Map.Entry<Character, Integer> pair : map.entrySet())
{
char key = pair.getKey(); //ключ
int value = pair.getValue(); //значение
System.out.println(key + " " + value);
}
// сортировка по алфавиту
}
}