Подскажите, что делаю не так, вывод соответствует описанию, все проверил.
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fileInputStream = new FileInputStream(reader.readLine());
ArrayList<Integer> list = new ArrayList();
while (fileInputStream.available() > 0) {
list.add(fileInputStream.read());
}
fileInputStream.close();
reader.close();
Map<Integer, Integer> map = new HashMap<>();
for(int i = 0; i< list.size(); i++){
int max = 0;
for(int j = 1; j< list.size(); j++){
if(list.get(i).equals(list.get(j))){
max++;
}
}
map.put(list.get(i), max);
}
List val = new ArrayList(map.values());
List key = new ArrayList(map.keySet());
int max = 0;
for(int i = 0; i< val.size(); i++){
if((int)val.get(i)>max){
max = (int) val.get(i);
}
}
ArrayList list3 = new ArrayList();
for(int i = 0; i< val.size(); i++){
if(max==(int)val.get(i)){
list3.add(i);
}
}
for (int i = 0; i< list3.size(); i++){
int num = (int) list3.get(i);
System.out.print(key.get(num) + " ");
}
}
}