SortedSet - Ordenar por dois atributos

4 respostas
Marques

Colegas,

Adaptando a rotina abaixo que o thingol me passou consegui ordenar através do atributo nomeConta.
Agora, preciso ordenar através de dois atributos.
Alguma dica?

Muito obrigado,

Marques
final Collator coll = Collator.getInstance(new Locale("pt", "BR"));
		SortedSet<ContaContabil> setContaContabil = new TreeSet<ContaContabil>(
				new Comparator<ContaContabil>() {
					public int compare(ContaContabil c1, ContaContabil c2) {
						return coll.compare(c1.getNomeConta(), c2
								.getNomeConta());
					}
				});

		for (ContaContabil c : contasDespesa) {
			setContaContabil.add(c);
		}

4 Respostas

T

Quais são os 2 atributos?

Marques

tipoConta e nomeConta (ambos String)

T
final Collator coll = Collator.getInstance(new Locale("pt", "BR"));
		SortedSet<ContaContabil> setContaContabil = new TreeSet<ContaContabil>(
				new Comparator<ContaContabil>() {
					public int compare(ContaContabil c1, ContaContabil c2) {
                                                int compTipo = coll.compare (c1.getTipoConta(), c2.getTipoConta());
                                                int compNome = coll.compare (c1.getNomeConta(), c2.getNomeConta());
                                                if (compTipo != 0) return compTipo;
                                                return compNome;
					}
				});

		for (ContaContabil c : contasDespesa) {
			setContaContabil.add(c);
		}
Marques

Valew thingol!!!

Muito obrigado por mais essa ajuda!!!

Criado 21 de outubro de 2008
Ultima resposta 21 de out. de 2008
Respostas 4
Participantes 2