Hebert_Coelho
Utilize distinct na consulta ou implemente hashCode/equals das classes e use o Set.
thiagoRibeiro
Hebert,
não posso usar o distinct porque a consulta me traz apenas um linha por código do meu objeto relatorio.getCodRel(),
eu recebo uma lista nessa lista eu agrupo as informações por um numero de conta,
dentro desse agrupamento tenho mais de um código relatorio.getCodRel() que e onde quero exibir apenas um,
sem as repetições,
implementei hashCode/equals porém dentro desse agrupamento que eu faço pelo numero da conta se existe mais de um código ele mostra apenas aquele,
se tiver algum outro código diferente ele não mostra.
Deu para entender ?
Hebert_Coelho
thiagoRibeiro:
Hebert,
não posso usar o distinct porque a consulta me traz apenas um linha por código do meu objeto relatorio.getCodRel(),
eu recebo uma lista nessa lista eu agrupo as informações por um numero de conta,
dentro desse agrupamento tenho mais de um código relatorio.getCodRel() que e onde quero exibir apenas um,
sem as repetições,
implementei hashCode/equals porém dentro desse agrupamento que eu faço pelo numero da conta se existe mais de um código ele mostra apenas aquele,
se tiver algum outro código diferente ele não mostra.
Deu para entender ?
Nesse caso voce tem que eliminar na unha. Coloque o valor dentro de um Set. Assim ele manterá valores únicos, ou apele para
if (!valorJáAdicionado) …
O que você tá querendo é específico para sua regra de negócio…
thiagoRibeiro
Hebert,
estou já colocando dentro de um set conforme abaixo,
Essa minha condição abaixo esta dentro de um loop e esse código pode aparecer mais de uma vez e
estou exibindo esse valor dentro de um <p:column> do <p:subTable >
como poderia eliminar essa repetição com o if
if (relatorio.getCodRelPay().equals("0")) {
relatorio.setCodRelPay("Relatório de Cliente");
}
igor_ks
Quando o Hebert disse Set, ele quis dizer a interface Set, da Collections, que não se repete…
http://docs.oracle.com/javase/tutorial/collections/interfaces/set.html
thiagoRibeiro
Galera acho que e isso certo ?
Set<String> setA = new HashSet();
if(!setA.contains("0") == true){
if (relatorio.getCodRelPay().equals("0")) {
relatorio.setCodRelPay("Relatório de Cliente");
setA.add("0");
}
}