Доброго времени суток, столкнулся с такой задачей. Нужно считать и записать в список 5 строк, найти минимально длинны строку и вывести её (если строк минимальной длинны несколько, то вывести все), однако постоянно сталкиваюсь с ошибкой IndexOutOfBoundsException.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Solution {
    public static void main(String[] args) throws Exception {
        ArrayList<String> list = new ArrayList<>();
        BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));

        for (int i = 0; i < 5; i++) {
            String element = buffer.readLine();
            list.set(i, element);
        }

        int minLength = list.get(0).length();

        for (int i = 1; i < 5; i++){
            if (list.get(i).length() < minLength)
                minLength = list.get(i).length();
        }

        for (int i = 0; i < list.size(); i++){
            if (list.get(i).length() == minLength)
                System.out.println(list.get(i));
        }
    }
}