Сначала использовал ArrayList в HashMap, потому что не мог создать HashMap с обычным Array. В итоге из-за того, что там создавались дополнительные код не проходил валидацию, потому что было более одно List. Позже всё таки сделал, используя старый алгоритм и HashMap с обычным Array. При выводе HashMap выходило следующее: [Ljava.lang.Integer;@7a30d1e6 , что-то не хотел записывать значения, но в итоге всё нормально посчитало. Вопрос такой: [Ljava.lang.Integer;@7a30d1e6 - что это такое. P.S. Я пишу код с браузера, потому что у меня комп тупит и медленно отлаживает программу.