У меня есть проблема, с которой я боролся в течение некоторого времени. Мне дано слово, состоящее из маленьких или больших букв алфавита Engli sh, для сортировки символов так, чтобы в первых позициях появлялись символы, которые чаще всего встречаются в слове, и если они появляются одинаковое количество раз Будут отсортированы лексикографические. Например:
ввод: инструкции
вывод: iinnssttcoru
Пока я написал это, но отсюда я не знаю, как сортировать их и правильно отображать, совет?
public class Main {
public static void main(String[] args) throws IOException {
String testString = " ";
BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
testString = rd.readLine();
Map<Character, List<Character>> map = new HashMap<>();
for (int i = 0; i < testString.length(); i++) {
char someChar = testString.charAt(i);
if (someChar == ' ') {
continue;
}
char ch = testString.charAt(i);
List<Character> characters = map.getOrDefault(Character.toLowerCase(ch), new ArrayList<>());
characters.add(ch);
map.put(Character.toLowerCase(ch), characters);
}
List<Map.Entry<Character, List<Character>>> list = new ArrayList<>(map.entrySet());}