Agrupar Informações Java

Amigos,

como eu faço para agrupar informações repetida e exibir apenas uma vez ?

Tenho uma situação aqui onde meu objeto relatorio.getCodRel() vem dentro de uma lista e nessa lista pode acontecer do código repetir,

esse código eu mostro na tela, mas não quero mostrar esse código mais de uma vez como que eu faço isso ?

Utilize distinct na consulta ou implemente hashCode/equals das classes e use o Set.

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 ?

[quote=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 ?[/quote]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…

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");
								}

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

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");
									}
								}