Я не уверен, почему ваш код будет компилироваться для начала.
Вы не должны использовать [] в списке массивов для доступа к членам. Массив - это просто список, который хранится внутри массива. Вы должны использовать операцию получения списка (которая все равно будет O (1)). Запись numlist [index] означает, что у вас есть массив объектов в numlist. Вы не можете переопределить операцию [], как в C ++.
Кроме того, int является 32-битным в Java. Массив длиной более 2 ^ 32 (поэтому вам понадобятся длинные индексы) маловероятен, и я даже не уверен, что спецификация позволяет это.