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;
}
}
}
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;
}
}
}
