Решение не проходит по последнему условию.
" Проверь, что в выводе буква 'ё' находится на своем месте - после буквы 'е' " - это рекомендация от ментора.
Я так понимаю при сортировке TreeMap руководствуется Unicode в котором код символа "ё" больше кода символа "я"
Может кто-то подскажет как поместить букву "ё", после буквы "е"?
package com.javarush.task.task10.task1012;
import sun.util.resources.cldr.ga.CurrencyNames_ga;
import java.io.*;
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 TreeMap<Character, Integer>();
for (int i = 0; i < alphabet.size(); i++) {
map.put(alphabet.get(i), 0);
}
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
for (int j = 0; j < s.length(); j++) {
Character ch = s.charAt(j);
for(Map.Entry e : map.entrySet()) {
Character mh =(Character) e.getKey();
if (mh.equals(ch)) {
Integer is = (Integer)e.getValue();
is = is + 1;
e.setValue(is);
}
}
}
}
for (Map.Entry<Character, Integer> e : map.entrySet())
{
System.out.println(e.getKey() + " " + e.getValue());
}
}
}