1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public Map<Character, Symbole> trierMap(Map<Character, Symbole> map)
{
Map<Character, Symbole> res= new TreeMap<Character, Symbole>();
List<Symbole> list= new ArrayList<Symbole>();
list.addAll(map.values());
Collections.sort(list, new Comparator<Symbole>()
{
public int compare(Symbole s0, Symbole s1) { return s1.getFreq() - s0.getFreq(); }
});
Object car;
Symbole s_tmp;
for(Symbole s: list)
{
Collection cle= map.keySet();
Iterator i_cle= cle.iterator();
while(i_cle.hasNext())
{
car= i_cle.next();
s_tmp= map.get(car);
if(s.equals(s_tmp))
res.put((Character)car, s);
}
}
return res;
} |