TreeSet
es un conjunto ordenado, por lo que cualquier elemento que inserte debe implementar Comparable
(a menos que especifique un Comparator
personalizado). Class
no.
Si no necesita el pedido, siempre puede usar un conjunto desordenado como HashSet. De lo contrario, tendrás que hacer tu propio pedido.
Desde el Javadoc (el énfasis es mío):
aplicación Un NavigableSet basado en un TreeMap. Los elementos se ordenan usando su orden natural, o por un comparador provisto en la creación del conjunto tiempo, dependiendo de qué constructor se use .
Esta implementación proporciona coste de tiempo de registro (n) garantizado para las operaciones básicas (agregar, eliminar y contiene).
Tenga en cuenta que el orden mantenida por un conjunto (si no se proporciona una explícita comparador) debe ser consistente con es igual si se va a correctamente implementar la interfaz Set. (Ver Comparable o Comparator para una definición precisa del consistentes con es igual a.) Esto es así porque el interfaz conjunto se define en términos de la operación es igual, pero una instancia TreeSet realiza todos los elementos comparaciones utilizando su compareTo (o comparar), por lo que dos elementos que se consideran iguales por este método son, desde el punto de vista del conjunto, iguales. El comportamiento de un conjunto está bien definido incluso si su orden es incoherente con igual; simplemente no obedece el contrato general de la interfaz Set.
Consulte también: Comparator
la Excepción debería tener más información de lo que salió mal ... casi siempre es una buena idea imprimir la Excepción y el seguimiento de la pila (simplemente agregue 'cce.printStackTrace()' dentro del bloque catch) –