[Resolvido] Qual a melhor maneira de juntar um array list em uma string?
5 respostas
T
tgcmv
Pessoal no código abaixo há 2 for's que fazem a mesma coisa. Qual deles vocês julgam ser melhor e o porquê de sua escolha. Há forma mais eficiente de fazer isso?
Meu objetivo é fazer uma consulta com a clausula 'IN' . Não sei quantos parâmetros virão no arrayList. Estou escrevendo a consulta assim select [...] where nome_coluna IN ( ? ); substituindo a ? pela String juntarLista. Há outra forma melhor de fazer isso?
Neste caso é necessário dar prioridade a performance e segurança
Na verdade, as duas abordagens são equivalentes. Quando você escreve um for nesse estilo (for/each), o que ele faz é usar o iterator na hora da execução, ou seja, exatamente o que o seu segundo código faz!
Na verdade, as duas abordagens são equivalentes. Quando você escreve um for nesse estilo (for/each), o que ele faz é usar o iterator na hora da execução, ou seja, exatamente o que o seu segundo código faz!
Quanto ao seu segundo código, geralmente utilizamos Iterator explicitamente quando queremos remover ítens da lista enquanto iteramos..
e você também está fazendo o teste desnecessariamente, pois esse if seu só vai ser falso na última iteração, então acaba sendo o mesmo teste desnecessário do primeiro for.
O for declarado desta maneira é parecido com um while (enquanto it.hasNext(), faça..). Seria o mesmo que:
então pra que testar mais uma vez dentro do laço se ele mesmo já faz isso?
T
tgcmv
erico_kl:
String juntarLista = lista.get(0);
for (Integer integer : lista) {
juntarLista += ", " + integer;
}
então pra que testar mais uma vez dentro do laço se ele mesmo já faz isso?
Desta forma o elemento 0 da lista não iria se repetir 2 vezes?
String juntarLista = lista.get(0);
for (Integer integer : lista) {
juntarLista += ", " + integer;
}
então pra que testar mais uma vez dentro do laço se ele mesmo já faz isso?
Desta forma o elemento 0 da lista não iria se repetir 2 vezes?