Recuperar cada valor de um List no Laço for por indice

Fala galera, sou novo aqui e espere que alguem possa me ajudar…
Eu tenho uma lista que vem do banco de dados com várias informações…
se eu colocar essa lista num laço for…ela duplica a variavel pelo numero de
registro que tem no banco…assim…

ArrayList lista = usuarioDao.BuscarPorNomes(nomes);

for(Estabelecimento estabelecimento : lista ){

List <String> c =  Arrays.asList( estabelecimento.getNome());
  
List <String> nome =   c.subList(0, 1);


//System.out.print(mome);

eu queria pegar cada nome de estabelecimento.getNome() e colocar em uma String,ou seja,
se existir 4 registros de nomes existirar 4 registros de String…

…agradeço…se aguem poder me ajudar…valeu

Bom eu acho que o que vc quer vc deve utilizar fazer assim:

List c = new ArrayList();
for … (){
c.add(estabelecimento.getNome())
}

pronto!

1 curtida

eu tinha esquecido…pois esta lista vem do banco de dados assim:
<%=Cliente.getNome%>

só poderei acessar cada valor assim:

lista.get(0).getNome() recupera o primeiro nome da lista;
lista.get(1).getNome() recupera o segundo nome da lista;

só tem um erro…
se algum registro for deletado no banco eu iniciar esta página,
acarretará um erro de index…

muito obrigado…valeu se precisar…me dá um toque…talvez possa ajudar…valeu

me deparei com outro problema…

var a = new Array ("<%=lista4.get(5).getEmpresa()%>","<%=lista4.get(5).getEndereço()%>",
"<%=lista4.get(5).getBairro()%>","<%=lista4.get(5).getCidade()%>","<%=lista4.get(5).getEmail()%>","<%=lista4.get(5).getTelefone()%>")

eu queria fazer assim:

if(<%=lista4.get(5).getNome()== null%>){

  console.log("registro existe:" + " "+<%=lista4.get(5).getNome()%>); 

}

else{
console.log(“registo index5 é nulo”);

 v

};

se no meu banco de dados não existir esse registro ele me dá um erro assim…

Stacktrace:] with root cause
java.lang.IndexOutOfBoundsException: Index: 0, Size:0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.apache.jsp.mapaMulti1_jsp._jspService(mapaMulti1_jsp.java:391)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache…

como faço para pular esse erro e continuar lendo o script…

valida o tamanho da lista primeiro todo vetor/List ou tem a propriedade size ou length ai vc coloca no teu if primeiro se o (tamanho - 1) == index que vc procura vc saberá primeiro se existe essa linha ou não

OK

vou tentar…o ploblema que size e length se encaixam para int , o meu método é uma lista da tabela
mas vou tentar fazer um cast (ParseInt)…
valeu…

PERFECT…você conseguiu resolver meu problema
te devo uma meu amigo…abraços

Marque uma reposta como solução ou coloque a tag resolvido no nome :slight_smile:

estou com uma dúvida, será que podemos alocar index repitidos na memoria de uma variável, mas quando listarmos,
o objeto só aparecerá uma vez?
como assim?
veja:

eu queria que a variavel ‘a’ recebece na posição 3 registros de mesma posição.

var a = [ “lista4.get(0).cliente.getNome();”,“lista4.get(0).cliente.getIdade();”,“lista4.get(0).cliente.getSexo()”,
“lista4.get(0).cliente.getNome();”,“lista4.get(0).cliente.getIdade();”,“lista4.get(0).cliente.getSexo()”,
“lista4.get(0).cliente.getNome();”,“lista4.get(0).cliente.getIdade();”,“lista4.get(0).cliente.getSexo()” ];

eu consigo aumentar o index com a opção acima, se lermos a variável assim: if(lista4.size()-1 == 3 )
será um valor true,como você tinha me dito;

tentei fazer assim : lista4.add(1,lista4.get(0).cliente.getNome();",“lista4.get(0).cliente.getIdade();”,“lista4.get(0).cliente.getSexo());
lista4.add(2,lista4.get(0).cliente.getNome();”,“lista4.get(0).cliente.getIdade();”,“lista4.get(0).cliente.getSexo());
lista4.add(3,lista4.get(0).cliente.getNome();”,“lista4.get(0).cliente.getIdade();”,"lista4.get(0).cliente.getSexo());

só que dá erro… minha List vem do servelet assim:

 <%  
List <Estabelecimento> lista4 = (List<Estabelecimento>)request.getAttribute("lista4");
 for(Estabelecimento estabelecimento: lista4 ){	
  %>

me dá uma luz por favor…obrigado