J'ai fais ce que souk a dit, en fait je garde ma hashmap pour gagner du temps quand je compte et ensuite je recopie les infos dans un ArrayList de caractere qui ont comme attribut la val du caractere et son nombre d'occurence.
Mais pour trier c'est chaud...
Code :
- private List<Caractere> frequenceTrie;
- frequenceTrie = new ArrayList<Caractere>();
- //Je remplis mon tableau
- Arrays.sort(frequenceTrie);
- //Erreur : The method sort(long[]) in the type Arrays is not applicable for the arguments (List<Caractere> )
|
Ma méthode compareTo dans ma classe Caractere (qui implemente Comparable)
Code :
- public int compareTo(Object o){
- if(!(o instanceof Caractere))
- throw new ClassCastException();
- Caractere c = (Caractere)o;
- if(this.nbOccurence < c.getNbOccurence())
- return -1;
- else if(this.nbOccurence == c.getNbOccurence())
- return 0;
- else return 1;
- }
|
Une idée de cette erreur ?
Arrays.sort(frequenceTrie);
//Erreur : The method sort(long[]) in the type Arrays is not applicable for the arguments (List<Caractere> )
C'est pareil si je fais :
Collection.sort(frequenceTrie);
//Erreur : The method sort(List<Caractere> ) is undefined for the type Collection
Edit :
J'ai trouvé en faisant ca :
Arrays.sort(frequenceTrie.toArray());
Mais ca ne trie rien du tout
Vais le faire a la main le tri je sens !
Message édité par Loizo le 22-05-2006 à 14:03:12