почему цикл неверно считает повторения?
package com.javarush.task.task18.task1821;
/*
Встречаемость символов
*/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class Solution {
public static void main(String[] args) throws IOException {
FileInputStream fileInputStream = new FileInputStream(args[0]);
TreeMap<Character, Integer> map = new TreeMap<>();
ArrayList<Character> list = new ArrayList<>();
byte[] bytes = new byte[fileInputStream.available()];
while (fileInputStream.available() > 0 ) {
list.add((char) fileInputStream.read());
}
fileInputStream.close();
System.out.println(list);
int repeat = 0;
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.size(); j++) {
if (list.get(i).equals(list.get(j))) {
repeat++;
}
}
map.put(list.get(i), repeat);
repeat = 0;
}
System.out.println(map);
for (Map.Entry<Character, Integer> pair: map.entrySet()) {
Character key =pair.getKey();
Integer value = pair.getValue();
System.out.println( key + " " + value);
}
}
}