next up previous contents index
suivant: Comparateur monter: Les relations d'ordre précédent: Tables ordonnées   Table des matières   Index


Ordre naturel

Rappelons que l'interface Comparable déclare une méthode int compareTo(Object o), qui retourne un entier 138#138, nul ou 210#210 selon que l'objet auquel elle est appliquée précède, est égal ou suit o selon l'ordre naturel.

Le constructeur sans paramètre crée un ensemble vide ordonné selon l'ordre naturel des éléments, ou une table vide ordonnée selon l'ordre naturel des clés. Par l'exemple, l'ensemble des inscrits et la table des notes, tous deux ordonnés selon l'ordre alphabétique des noms peuvent être définis ainsi :

  SortedSet inscrits = new TreeSet();  
  SortedMap notes = new TreeMap();

Tous les éléments qui seront ajoutés à un ensemble ordonné devront être mutuellement comparables ; sinon, l'exception ClassCastException sera déclenchée :

  inscrits.add("Turing, Alan");
  inscrits.add(new Integer(3));           // -> ClassCastException !

Un autre constructeur permet de créer un ensemble ordonné à partir d'une collection passée en argument, en utilisant l'ordre naturel sur les éléments, qui doivent être tous mutuellement comparables. Par exemple, si l'on dispose d'une collection d'élèves, on obtient ainsi l'ensemble ordonné de ces élèves :

  Collection élèves = ...
  SortedSet inscrits = new TreeSet(élèves);



Rene' LALEMENT 2002-11-07