/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Capitulo_7.agenda;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

/**
 *
 * @author felix
 */
public class MiAgenda4 {
    static public void main(String args[]){
        List<Persona>  ls = new ArrayList<Persona>();
        Persona p =new Persona("Felix"); 
        p.agregaTelefono("casa", "1231231");
        ls.add(p);

        p =new Persona("Juan"); 
        p.agregaTelefono("movil", "56711231");
        
        ls.add(p);
        
        for(Persona i: ls) 
            i.imprime();
        
        Collections.sort(ls, new ComparaN());

        for(Persona i: ls) 
            i.imprime();
    }
}




class ComparaN implements Comparator <Persona>{

    public int compare(Persona arg0, Persona arg1) {
        return arg1.getNombre().compareTo(arg0.getNombre());
    }
    
}
class 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 ;
    }
}