package Capitulo_7.agenda;

import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class MiAgenda2 {

    static public void main(String args[]){
       TreeMap<Persona,String> tm = new TreeMap<Persona, String>();
       
       Persona p = new Persona("Felix");
       p.agregaTelefono("Movil", "23423");
       p.agregaTelefono("Casa", "11212");
       
       tm.put(p, "FX");

       p = new Persona("Juan");
       p.agregaTelefono("Trabajo", "456456");
       p.agregaTelefono("Casa", "1434532");

       tm.put(p, "JK");
       
       Set<Persona> ks = tm.keySet();
       for(Persona key:ks)
            key.imprime();    
    }
}

class Persona implements Comparable <Persona>{

    private String Nombre;
    private Map <String, String> telefonos;
 
    public Persona(String unNombre) {
      Nombre = unNombre;
      telefonos = new TreeMap<String, String>();
    }
    
    public void agregaTelefono(String unaDesc, String unTelefono) {
        telefonos.put(unaDesc, unTelefono);
    }
    
    public String getNombre() {
        return Nombre;
    }
    
    void imprime() {
       System.out.println(Nombre);

       if(telefonos.keySet().isEmpty()) return;
       
       for(String a : telefonos.keySet())
           System.out.println("\t" + a + " : " + telefonos.get(a));
    }
    
    @Override
    public String toString() { 
        return " Nombre: " + Nombre ;
    }

    public int compareTo(Persona arg0) {
        return arg0.getNombre().compareTo(Nombre);
    }
}
