IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Sort d'une arraylist


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut Sort d'une arraylist
    Bonjour,

    j'ai une classe qui s'appelle successeur et dont le constructeur prend en parametre un int

    Dans la classe successeur j'ai redefinie compareTo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public int compareTo(Object other) { 
          int nombre1 = ((Successeur) other).getPositionnSucc(); 
          int nombre2 = this.getPositionnSucc(); 
          if (nombre1 > nombre2)  return -1; 
          else if(nombre1 == nombre2) return 0; 
          else return 1; 
       }
    Malgré sa quand je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Collections.sort(listS);
    j'ai une exception
    in thread "main" java.lang.ClassCastException: p.Successeur
    Une idée du probleme ?

  2. #2
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    La liste est elle composée de Successeur ?

    dans quelle méthode la ClastCastException est-elle déclenchée ? (on voie cela dans les lignes suivantes de la pile d'erreur)

  3. #3
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    oui La liste est elle composée de Successeur

    l'exception est declenchée dans la méthode ou je fais le sort

  4. #4
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    essaie d'ajouter une trace dans la méthode compareTo

    System.out.println(other);

  5. #5
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    j'ai ajouté mais il ne m'affiche aucune info de plus, juste l'exception

  6. #6
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    voila la totalité de l'erreur


    Exception in thread "main" java.lang.ClassCastException: p.Successeur
    at java.util.Arrays.mergeSort(Arrays.java:1156)
    at java.util.Arrays.sort(Arrays.java:1080)
    at java.util.Collections.sort(Collections.java:117)
    at p.Generateur.generateurActivité(Generateur.java:48)
    at p.Main.main(Main.java:19)
    Java Result: 1

  7. #7
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    Est-ce que la classe Successeur implémente l'interface Comparable ?

  8. #8
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    je comprend pas ce que tu veux dire par
    classe Successeur implémente l'interface Comparable

  9. #9
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    afin que des objets soient comparables, il faut qu'ils implémentent l'interface Comparable c'est en effet dans cette interface qu'est définie la méthode int compareTo(Object o).

    d'ailleurs la javadoc de la méthode Collections.sort() précise que les éléments à trier doivent être mutuellement Comparable sinon ClassCastException (ce qui semble être le cas ici)

  10. #10
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    A oui je vois ce que tu veux dire

    j'ai modifié et en effet sa marche

    merci de ton aide ci précieuse

  11. #11
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    de rien
    petit tag

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Tri d'objet dans une ArrayList
    Par guillaume16 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/03/2006, 12h05
  2. [Collections]Supprimer des doublons dans une ArrayList
    Par emie31 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/12/2005, 15h15
  3. [Collections]Compter les mots différents d'une ArrayList
    Par alanpix dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 21/11/2005, 22h11
  4. [C#] Passage en paramètre d'une ArrayList
    Par bendj dans le forum ASP.NET
    Réponses: 6
    Dernier message: 16/08/2005, 10h41
  5. Réponses: 2
    Dernier message: 02/08/2005, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo