Начал решать задачу и просто даже не понимаю код. Или я отупел в край, но я не понимаю. Нет же parce, но цифры принимает и выводит. И за чем эта строка? Какая её роль именно в этой задаче, почему без неё работать не будет?
String[] array = list.toArray(new String[0]);
public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        ArrayList<String> list = new ArrayList<>();
        while (true) {
            String s = reader.readLine();
            if (s.isEmpty()) {
                break;
            }
            list.add(s);
        }

        String[] array = list.toArray(new String[0]);
        sort(array);

        for (String x : array) {
            System.out.println(x);
        }
    }