<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import java.util.*;

public class MercadoTreeSet {

   public static void main(String args[]) {
      // Definir 5 instancias de String
      String m = new String("Pan");
      String n = new String("Leche");
      String o = new String("Manzanas");
      String p = new String("Brocoli");
      String q = new String("Carne");
      String r = new String("Manzanas");

      // Definir un TreeSet
      TreeSet&lt;String&gt; mandado = new TreeSet&lt;String&gt;();
      mandado.add(m);
      mandado.add(n);
      mandado.add(o);
      mandado.add(p);
      mandado.add(q);
      mandado.add(r);

      // Imprimir contenido de TreeSet
      // Aunque son insertados 6 elementos, el TreeSet solo contiene 5
      // Lo anterior se debe a que un TreeSet no permite elementos duplicados,
      // a pesar que son empleados Objetos distintos, el TreeSet detecta que el
      // elemento "Manzanas" es duplicado

      System.out.println(" - Lista de mandado con " + mandado.size() + " elementos");
      // Definir Iterator para extraer/imprimir valores

      for( Iterator it = mandado.iterator(); it.hasNext();) {

         // Notese que el orden del TreeSet refleja un orden descendente
         // en sus elementos independientemente del orden de inserciÃ³n.
         // Debido al uso de String's esto refleja un orden alfabÃ©tico
         String x = (String)it.next();
         System.out.println(x);

      }

      // No es posible eliminar elementos por indice
      // Un TreeSet no ofrece este mecanismo, solo eliminaciÃ³n por valor de Objeto

      // Eliminar todos los valores del TreeSet
      mandado.clear();
      System.out.println(" - Lista de mandado final con " + mandado.size() + " elementos");
   }
}
</pre></body></html>