Galera Tenho uma lista de bean onde não posso mostrar itens repetidos o porém é que somente 4 atributos não podem ser iguais, vou tentar explicar melhor
Bom observem que o primeiro e o segundo são iguais porém um tem valor e o outro não, preciso mostrar somente no que tem o valor, mais to apanhando muito para isso acontencer
Nunca usei ele mais o que necessariamente eu deveria usar?
A
aechiara
o predicate permite que você execute um teste para cada elemento da sua Collection, o teste tem que retornar verdadeiro ou falso, aí você decide se imprime ou não os valores do objeto que você está testando
olha os exemplos, que você vai entender
F
fabim
Que tal utilizar o proprio Java?
Subcreve o metodo equals() do seu Bean, dizendo que 2 objetos Bean sao iguais se <composicao dos 4 valores que vc quer sao iguais>
Subscreva tb o metodo hashCode().
Pronto, agora basta ao inves de vc adicionar eles em List, vc adicionar em Set. Ex: LinkedHashSet
A interface Set ja cuida de bloquear a adicao de duplicatas (agora que vc disse o que sao 2 Beans iguais)
A
aechiara
fabim:
Que tal utilizar o proprio Java?
Subcreve o metodo equals() do seu Bean, dizendo que 2 objetos Bean sao iguais se <composicao dos 4 valores que vc quer sao iguais>
Subscreva tb o metodo hashCode().
Pronto, agora basta ao inves de vc adicionar eles em List, vc adicionar em Set. Ex: LinkedHashSet
A interface Set ja cuida de bloquear a adicao de duplicatas (agora que vc disse o que sao 2 Beans iguais)
Diogo, vc já tem a lista dessa forma, e quer imprimir só os que tem valor, ou vc vai criar a lista e não pode ter itens repetidos ?
7
71C4700
Mesmo já tendo a lista, a melhor saida é como fabim falou.
Sobrescreve o equals, especificando por quais atributos o seu Bean será igual/diferente de outro. Depois sobrescreve o hascode.