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

8 respostas Resolvido
L

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

8 Respostas

betofroesjr

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

List  c = new ArrayList();

for  (){

c.add(estabelecimento.getNome())

}

pronto!

L
Solucao aceita

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

L

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…

betofroesjr

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

L

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…

L

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

R

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

L

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

Criado 17 de janeiro de 2018
Ultima resposta 20 de jan. de 2018
Respostas 8
Participantes 3