Объясните для чего надо два преобразования ? TreeMap<Integer, Integer> newMap = new TreeMap<>(map); for (Map.Entry<Integer, Integer> entry : newMap.entrySet()){ System.out.println((char)(int)entry.getKey() + " " + entry.getValue()); }