Erro no Vector

Alguem sabe pq o codiog abaixo ta dando esse erro :
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1.

Ao meu ver nao era para dar estouro, pois na posicao 1 existe elemento !!!

Vector currentRow = new Vector();
	
 for (int i= 1; i <= 10; i ++){
                                                      
         currentRow.add(i-1,rs.getString(i));
           System.out.println(currentRow.get(1));
                                                      
 }

Voce esta adicionando um item na posicao 0 e tentando pegar da posicao 1

Rafael

[quote=“Rafael Steil”]Voce esta adicionando um item na posicao 0 e tentando pegar da posicao 1

Rafael[/quote]

Pois eh , mas eu pensava que esse codigo : currentRow.add(i-1,rs.getString(i)); estivesse pegando um elemento e adcionando na posicao 0, pegando um outro elemento e adcionando na posicao 1, e assim sucessivamente !! Como entao fazer isso ?? Ou seja como adicionar elementos em cada posicao do Vector ??

Ha algumas maneiras bem simples… voce basicamente usou a abordagem errada para manipular. Usando o teu codigo original, uma ligeira mudanca no get() resolveria:

Vector currentRow = new Vector();
   
for (int i= 1; i <= 10; i ++){
    currentRow.add(i - 1,rs.getString(i));
    System.out.println(currentRow.get(i - 1));                                                 
} 

porem, voce poderia trocar por

Vector currentRow = new Vector();
   
for (int i= 0; i < 10; i ++){
    currentRow.add(i, rs.getString(i + 1));
    System.out.println(currentRow.get(i));                                                 
} 

o que eh um pouco melhor que a primeira versao, mas ainda ruim. O correto seria voce usar o addElement() do Vector:

Vector currentRow = new Vector();
   
for (int i= 0; i < 10; i ++){
    currentRow.addElement(rs.getString(i + 1));
    System.out.println(currentRow.get(i));                                                 
} 

porem, isso pode dar problema se voce nao tiver 10 elementos no ResultSet. Portando, faca simplesmente

Vector currentRow = new Vector();
int counter = 0;
while (rs.next()) {
    currentRow.addElement(rs.getString(counter));
    System.out.println(currentRow.get(counter));
    counter++;
}

Rafael