Boa tarde,
Dado o código abaixo:
for (Iterator it = lhmAtributosClasse.keySet().iterator(); it.hasNext(); ) {
String strNomeAtributo = new String(it.next().toString());
pstmt.setString(???, this.TrataDadosAGravar(lhmAtributosClasse.get(strNomeAtributo)));
}
Como fazer para o obter o índice do Iterator?
Desde já agradeço.
[quote=prsantos]Boa tarde,
Dado o código abaixo:
for (Iterator it = lhmAtributosClasse.keySet().iterator(); it.hasNext(); ) {
String strNomeAtributo = new String(it.next().toString());
pstmt.setString(???, this.TrataDadosAGravar(lhmAtributosClasse.get(strNomeAtributo)));
}
Como fazer para o obter o índice do Iterator?
[/quote]
Não tem como. Vc tem que criar uma variável e ir incrementando.
int i =0;
for (Iterator it = lhmAtributosClasse.keySet().iterator(); it.hasNext(); i++) {
String strNomeAtributo = new String(it.next().toString());
pstmt.setString( i , this.TrataDadosAGravar(lhmAtributosClasse.get(strNomeAtributo)));
}
E outra dica, itere entrySet e não use get() dentro de uma iteração. TB não precisa de new String(string)
int i =0;
for (Iterator it = lhmAtributosClasse.entrySet().iterator(); it.hasNext(); i++) {
Map.Entry entry = it.next();
String strNomeAtributo = entry.getKey().toString(); // não é usado
pstmt.setString( i , this.TrataDadosAGravar(entry.getValue()));
}
Ups, afinal parece que vc quer iterar os valores
int i =0;
for (Iterator it = lhmAtributosClasse.values().iterator(); it.hasNext(); i++) {
pstmt.setString( i , this.TrataDadosAGravar(it.next())));
}
Humm, para que é o mapa mesmo ? 
Isso!
Preciso pegar os valores que por sua vez já estão no LinkedHashMap()