не могу понять
package com.javarush.task.task18.task1823;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
/*
Нити и байты
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static ArrayList<String> nameList = new ArrayList<>();
public static void main(String[] args) throws IOException {
BufferedReader nameReader = new BufferedReader(new InputStreamReader(System.in));
boolean flag = false;
while (!flag) {
String nameStr = nameReader.readLine();
if (nameStr.equals("exit")) {
flag = true;
} else {
nameList.add(nameStr);
}
}
nameReader.close();
for (String name : nameList) {
new ReadThread(name).start();
}
}
public static class ReadThread extends Thread {
public String fileName;
public ReadThread(String fileName) {
this.fileName = fileName;
}
@Override
public void run() {
int[] array = new int[256];
int frequency = 0;
int index = 0;
try (FileInputStream byteReader = new FileInputStream(fileName)) {
while (byteReader.available() > 0) {
array[byteReader.read()]++;
}
for (int i : array) {
if (frequency < array[i]) {
frequency = array[i];
}
}
for (int i = 0; i < array.length; i++) {
if (array[i] == frequency) {
index = i;
}
}
resultMap.put(fileName, index);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}