Caros Amigos, bom Dia
Me tirem esta duvida, porque quando quero inserir objetos em um TreeMap sou obrigado na classe que será inserida a implementar o comparable, e como crio o compareTo usando 3 atributos sendo um String e dois integer ???
Grato
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Caros Amigos, bom Dia
Me tirem esta duvida, porque quando quero inserir objetos em um TreeMap sou obrigado na classe que será inserida a implementar o comparable, e como crio o compareTo usando 3 atributos sendo um String e dois integer ???
Grato
Por definição, um TreeMap é um mapa ordenado (classificado por chaves). As chaves do mapa precisam ser comparáveis para garantir uma ordem de classificação no mapa. Portanto, elas devem implementar Comparable.
public class MinhaClasse implements Comparable<MeuObjeto> {
public int compareTo(MeuObjeto meuObjeto){
String atributoString = meuObjeto.getAtributoString();
Integer atributoInteger1 = meuObjeto.getAtributoInteger1();
Integer atributoInteger2 = meuObjeto.getAtributoInteger2();
if(this.atributoInteger1 < atributoInteger1) {
return -1;
} else {
return 1;
}
return 0;
}
}No método compareTo você deve retornar um número inteiro: