Colocar arrayList em ordem alfabetica

4 respostas
R

bom peolpe and java friends, comecei com colections ontem e confesso mereço 5 , ufsss, pq nao consegui resolver o exerc 9 da pag 195 da FJ-11
pede pra colocar uma List de ContaPoupanca em ordem alfabetica pelo atributo String “nome” da classe ContaPoupanca via metodo compareTo.
Eu consegui fazer o exercicio ant q pedia pra comparar pelo numero da conta.
prefiro dica do que a resposta, pra ficar com a consciencia mais feliz hehehe

public class ContaPoupanca implements Conta , Comparable<ContaPoupanca>{
	private double saldo;
	private int numero;
	private String nome;

        // .... demais metodos, geters and setters        

	@Override
	public int compareTo(ContaPoupanca conta) { // nao to sabendo mudar a comparação de atrib. numero pra atrib. string nome
		// TODO Auto-generated method stub
		if (this.numero < conta.numero){return -1;}
		if (this.numero > conta.numero){return 1;}
		else return 0;
	}
	
	void comparaContas(ContaPoupanca conta){ 
		if (compareTo(conta) == -1){System.out.print("Essa conta é mais antiga que a conta referida");}
		if (compareTo(conta) == 1){System.out.print("Essa conta é mais nova que a conta referida");}
		if (compareTo(conta) == 0){System.out.print("Contas iguais");}
	}
}

valeu madrugadores!!!

4 Respostas

S

O método compareTo() por padrão já sabe como classificar String, então você não precisa se preocupar em reiventar a roda e fazer uma classificação para isso, bata chamar novamente o compareTo().

public int compareTo(ContaPoupanca conta) {         
    return this.nome.compareTo(conta.getNome());
}
R

valeu a ajuda ai
quer dizer que com essa implementação do “compateTo” qdo eu der “Collections.sort(contas);” no main ai ja vai ordenar as ContaPoupanca do meu arrayList por ordem alfabética do atributo nome?

S

Isso mesmo.

R

Realy thank’s men!!!
tava esperado essa ajuda paradão, procurando na API sem conseguir entender desde 2 da madruga!!!
:thumbup:

Criado 14 de novembro de 2011
Ultima resposta 14 de nov. de 2011
Respostas 4
Participantes 2