例如,一个TreeMap里存储(词,词个数):
TreeMap<String, Integer> tm_Orgstr = new TreeMap<String, Integer>();
if (tm_Orgstr.containsKey(Word1Name)) {
int count = tm_Orgstr.get(Word1Name);
tm_Orgstr.put(Word1Name, count + 1);
} else {
tm_Orgstr.put(Word1Name, 1);
}
1、TreeMap类型默认按key升序排列,如果想按Key逆序排列,则这样申明:
TreeMap<String, Integer> tm_Orgstr = new TreeMap<String, Integer>(Collections.reverseOrder());
或者
Set tm_Orgstr = new TreeMap<String, Integer>().descendingKeySet()
2、如果想按value逆序排列,则:
List<Map.Entry<String, Integer>> tm_Orgstr_set = new ArrayList<Map.Entry<String, Integer>>(tm_Orgstr.entrySet());
Collections.sort(tm_Orgstr_set, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
如果想按value从小到大排序,则只需修改:
o1.getValue().compareTo(o2.getValue());