package com.javarush.task.task18.task1821; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /* Встречаемость символов */ public class Solution { public static void main(String[] args) throws IOException { Map<Character, Integer> characterIntegerMap = new HashMap<>(); try (BufferedReader fileReader = new BufferedReader(new FileReader(args[0]))) { while (fileReader.ready()) { char[] chars = fileReader.readLine().toCharArray(); for(char c: chars) { if(characterIntegerMap.containsKey(c)) { int valueOfChar = (characterIntegerMap.get(c)) + 1; characterIntegerMap.remove(c); characterIntegerMap.put(c,valueOfChar); }else { characterIntegerMap.put(c,1); } } Map<Character, Integer> sorted = Sorter.sortByASCII(characterIntegerMap); for(Map.Entry<Character, Integer> entry : sorted.entrySet()) { System.out.println(entry.getKey() + " " + entry.getValue()); } } } } static class Sorter { public static Map<Character, Integer> sortByASCII (Map<Character, Integer> base) { List<Character> charArray = base.keySet().stream().sorted().collect(Collectors.toList()); Map<Character, Integer> res = new HashMap<>(); for (Character character : charArray) { res.put(character, base.get(character)); } return res; } } }