Подскажите пожалуйста, что не так в коде.
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
Количество букв
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// Алфавит
List<Character> alphabet = Arrays.asList(
'а','б','в','г','д','е','ё','ж',
'з','и','й','к','л','м','н','о',
'п','р','с','т','у','ф','х','ц',
'ч','ш','щ','ъ','ы','ь','э','ю','я');
List<Integer> count = new ArrayList<>();
for (int i = 0; i < alphabet.size(); i++) {
count.add(0);
}
// Ввод строк
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
String s = reader.readLine();
list.add(s.toLowerCase());
}
ArrayList<char[]> list1 = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
list1.add(list.get(i).toCharArray());
}
for (int i = 0; i < list1.size(); i++) {
for (int j = 0; j < list1.get(i).length; j++) {
for (int n = 0; n < alphabet.size(); n++) {
if (alphabet.get(n).equals(list1.get(i)[j])) {
count.add(n, count.get(n) + 1);
}
}
}
}
for (int i = 0; i < alphabet.size(); i++) {
System.out.println(alphabet.get(i) + " " + count.get(i));
}
}
}