No meu caso eu tenho esse código:
package collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Principal {
public static void main(String[] args) {
List<ContaPoupanca> contas = new ArrayList<>();
ContaPoupanca cp1 = new ContaPoupanca("Edu", 456);
cp1.deposita(100);
ContaPoupanca cp2 = new ContaPoupanca("Max", 123);
cp2.deposita(200);
ContaPoupanca cp3 = new ContaPoupanca("Alves", 789);
cp3.deposita(200);
contas.add(cp1);
contas.add(cp2);
contas.add(cp3);
Collections.sort(contas);
for (ContaPoupanca conta : contas) {
System.out.println(conta.getSaldo() +" "+ conta.getNome());
}
}
}
que imprime:
322.9 Max 555.9 Edu 988.9 Alves
Veja que somente os numeros estão ordenados mais como eu modifiquei o metodo compareTo() para obter os numeros ordenados agora como eu faria para ter os nomes tambem ordernados?eu teria que usar o HashMap ou teria como eu fazer usando o ArrayList() mesmo?