Для того чтобы буква ё выводилась не в конц, а посе е пришлось написать ужасный костыль, но прикол в том, что и сейчас валидатор не пускает.
1) первый вопрос, как правильно указать компаратор в TreeMap?
2) что не так в этом коде?
package com.javarush.task.task10.task1012;
import java.io.*;
import java.net.*;
import java.util.*;
import java.lang.*;
import java.text.*;
import java.nio.file.*;
import java.rmi.*;
/*
Количество букв
*/
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> letters = new TreeMap<>();
for (char i : alphabet)
letters.put(i,0);
for (String str:list)
{
char [] chars = str.toCharArray();
for (char c:chars)
{
if (letters.containsKey(c))
{
letters.replace(c,letters.get(c)+1);
}
else
{
letters.put(c,1);
}
}
}
int flag = 0;
for (Map.Entry e: letters.entrySet())
{
if (flag == 1)
{
System.out.println("ё"+" "+letters.get('ё'));
flag = 0;
}
if (e.getKey().equals('е'))
flag = 1;
if (!e.getKey().equals('ё'))
System.out.println(e.getKey()+" "+e.getValue());
}
}
}