В то время как вы получили дюжину предложений по использованию размера вашего списка, которые работают для списков с линейными записями, похоже, никто не читал ваш вопрос.
Если вы добавляете записи вручную в разные индексы, ни одно из этих предложений не будет работать, так как вам нужно проверить конкретный индекс.
Использование if (list.get (index) == null) также не будет работать, так как get () выдает исключение вместо возврата null.
Попробуйте это:
try {
list.get( index );
} catch ( IndexOutOfBoundsException e ) {
list.add( index, new Object() );
}
Здесь добавляется новая запись, если индекс не существует. Вы можете изменить это, чтобы сделать что-то другое.