Мне нужна SortedMap, где ключи Charachter сортируются следующим образом: ('A' .. 'Z' .. '0' .. '9'), поэтому сначала введите символ, затем цифры, все в порядке возрастания. Это то, что я пробовал до сих пор, однако вывод показывает, что он не может вернуть нужную сортировку, потому что значения ключей di git все еще перед значениями буквенных ключей. Что я делаю неправильно? Есть ли еще лучший способ сделать это? Заранее спасибо!
public static void main(String[] args) {
SortedMap<Character, String> sortedMap = new TreeMap<>(new Comparator<Character>() {
@Override
public int compare(Character o1, Character o2) {
if (Character.isDigit(o1) && Character.isLetter(o2)){
return o2.compareTo(o1);
}
else if(Character.isLetter(o1) && Character.isDigit(o2)){
return o1.compareTo(o2);
}
else{
return o1.compareTo(o2);
}
}
});
sortedMap.put('5', "five");
sortedMap.put('8', "nine");
sortedMap.put('A', "ALPHA");
sortedMap.put('G', "GOLF");
sortedMap.put('F', "FOXTROT");
System.out.println(sortedMap.values());
}