Pegar elementos de uma lista

4 respostas
R

Tenho uma List.
Na minha classe ClientesMOD tenho um campo chamando idVendedor.
Como faço para pegar todos os registros desta lista onde o idVendedor seja igual a 1?? Mas queria fazer isso sem ter que percorrer toda a lista verificando registro por registro. Tem como fazer isso com List?? ou existe alguma outra classe que faça isso???

4 Respostas

W

Boa noite Rodrigo!

Cara se vc estiver usando Java, a nova versão lançada (Java 8) possui suporte para expressões Lambda, isto talvez te ajude caso esteja usando esta tecnologia.

Vlw.

R

Com lambda consigo pegar os elementos da lista filtrando por algum atributo da classe ClienteMOD?
Poderia me indicar algum link com algum exemplo?

Jeferson_Manetti

Olá Rodrigo,

bem com Java 8 vc poderia fazer algo assim:

// recupera a lista de clientes
List<ClientesMOD> clientes = getListClientesMOD();

List<ClientesMOD> clientesFiltrado = 
     // cria um stream de clientes
     clientes.stream()
     // usa filter para filtrar os vendedores com id = 1
    .filter(c -> c.getIdVendedor().equals(1))
    // transforma o resultado em uma lista
    .collect(Collectors.toList());

Isso funciona legal, porém toma cuidado com esse tipo de código… lembre-se que vc está processando tudo em memoria… o ideal seria vc “filtrar” isso direto no banco, ou seja, trazer apenas os vendedores que vc deseja trabalhar.

Fonte =)

R

Continuando a discussão do Pegar elementos de uma lista:

Consegui fazer deste modo que você postou, vlw… E sobre trazer do banco só o que preciso, na verdade eu preciso trazer todos, ai na aplicação eu preciso separar pois preciso dar tratamentos diferentes para cada tipo de vendedor…

Criado 16 de dezembro de 2015
Ultima resposta 17 de dez. de 2015
Respostas 4
Participantes 3