Árboles en Java, TreeSet

TreeSet

Características

  • Se adicionan los elementos de manera ordenada (atributo comparado)
  • Requiere de un Iterador para recorrer el árbol
  • No se admiten elementos repetidos (atributo comparado)

Métodos

**add(elemento)**Adiciona un elemento al árbol
**addAll(conjunto)**Adiciona todo un conjunto de elementos
**remove(elemento)**Extrae y elimina el elemento
**clear()**Elimina todo el contenido del árbol
**size()**Retorno el número de elementos
**isEmpty()**Retorna *true* si el árbol esta vacío
**contains(elemento)**Retorna *true* si el árbol tiene el elemento

Código de ejemplo

github.com/alvareztech/TreeSetSample

Ejemplo con Comparator

No requiere que la clase sea Comparable.

TreeSet<Contacto> contactos = new TreeSet<Contacto>(new Comparator<Contacto>() {  
    @Override
    public int compare(Contacto o1, Contacto o2) {
//      Integer i1 = o1.getTelefono();
//      Integer i2 = o2.getTelefono();
//      return i1.compareTo(i2);

        Date f1 = o1.getFechaNacimiento();
        Date f2 = o2.getFechaNacimiento();
        return f1.compareTo(f2);
    }
});

Contenido extra