Bonsoir tout le monde,
pour un mot saisie au clavier , je développe une méthode qui prend en paramêtres une liste de sous chaine de ce mot pour enfin retourner une map<String, Integer> qui sera rempli par l'ensemble de sous chaine (trié par ardre alphabétique) ainsi que le nombre de fréquence de chacun de ces sous chaine sans redondance

le code ci-dessous :J'ai essayé avec collections.fréquency pour obtenir le nombre de fréquence unique . Merci de m'aider à remplir le map d'une façon qu'il soit trié

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 private Map<String, Integer> myMapTrié = new HashMap<String, Integer>();
    public Map<String, Integer> occurence(ArrayList<String> list) {  
        Set<String> unique = new HashSet<String>(list);
        for (String key : unique) {
           myMapTrié.put(key, Collections.frequency(list, key));
 
        }
        System.out.println(myMapTrié);
        return myMapTrié;
    }
Un exemple du résultat obtenu:
Nom : Capture.PNG
Affichages : 1579
Taille : 1,8 Ko
Mais le resultat souhaité :

bon =2
nbo=1
onb=1
on_=1
_bo=1

Merci