Se vc cria um array com capacidade para 10 elementos, vc pode acessá-los do indice 0 até o 9. Se tentar acessar o indice 10, uma exceção será lançada (ArrayIndexOutOfBoundsException).
int[] array = new int[10];
array[0] = 1; // ok
array[1] = 2; // ok
array[2] = 3; // ok
array[3] = 4; // ok
array[4] = 5; // ok
array[5] = 6; // ok
array[6] = 7; // ok
array[7] = 8; // ok
array[8] = 9; // ok
array[9] = 10; // ok
array[10] = 1; // Erro: ArrayIndexOutOfBoundsException
No seu caso, tenho quase certeza de que o problema está sendo causado por essa linha:
for (int i=0; i<=vet.length; i++) {
Substitua por:
for (int i = 0; i < vet.length; i++) {
Vc não quer que o loop seja executado até que i seja igual que vet.length. Pois se o array tem length 10 e vc acessar o indice 10, estará extrapolando os limites.
Por isso o loop tem que ser executado apenas enquanto i for menor que o length, não mais que isso.
Imaginei que fosse exatamente isso, mas mesmo com a proposta sugerida por você, o erro persiste… até se eu nao deixar o método linearString executar, dá o erro mesmo para inserir a linha da posição 1 do Array, mesmo eu tendo declarado o mesmo com tamanho 10000.