import java.util.Map; import java.util.HashMap; public class Freq { public static void main(String args[]) { // méthode préconisée dans le tutorial Java // http://java.sun.com/docs/books/tutorial/collections/interfaces/map.html Map freqs = new HashMap(); for (String arg:args) { Integer freq = freqs.get(arg); freqs.put(arg, freq==null ? 1 : freq+1); } System.out.println(freqs.size() + " distinct words detected:"); System.out.println(freqs); // méthode avec les objets de classe FreqCount Map freqCs = new HashMap(); // réinitialise la map for (String arg:args) { FreqCount freq = freqCs.get(arg); if(freq == null) freqCs.put(arg, new FreqCount()); else freq.bump(); // modifie l'objet pas la clé... } System.out.println(freqs.size() + " distinct words detected:"); System.out.println(freqs); } } // classe minimale pour compter les fréquences... class FreqCount{ private int value = 1; public String toString(){ return ""+value; } public void bump(){ value++; } } /* exemples de résultats => java Freq Je suis le chef le grand chef 5 distinct words detected: {grand=1, Je=1, chef=2, le=2, suis=1} 5 distinct words detected: {grand=1, Je=1, chef=2, le=2, suis=1} */