Логику понял, не могу только догнать как мне в HashMap добавить байты с количеством повторяющихся раз.
Дело в том что когда я в двойном цикле for сравниваю каждый байт со всеми имеющимися, то когда я первый раз сравниваю например байт 10, который встречается например 3 раза, то он в начале сохранит в Map этот уникальный байт с количеством 3, но затем при следующем сравнении в двойном цикле уже перезапишет в этот же Map уникальный байт 10 но со значением 2, и в итоге он выдаст в любом случае все единицы, поскольку count у меня по умолчанию 1.
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fileInputStream = new FileInputStream(bufferedReader.readLine());
List<Integer> list = new ArrayList<>();
while (fileInputStream.available()>0){
list.add(fileInputStream.read());
}
fileInputStream.close();
HashMap<Integer,Integer> map = new HashMap<>();
for (int i=0;i<list.size()-1;i++){
int count = 1;
for (int j=i+1;j<list.size();j++){
if (list.get(i)==list.get(j)){
count++;
}
}
map.put(list.get(i), count);
}
for (Map.Entry<Integer,Integer> m :map.entrySet()) {
System.out.print(" " + m.getKey());
System.out.print( " " + m.getValue());
}
}
}