java HashMap 如何排序后输出

工作中相信大家都会是HashMap记录一些映射,记录完后可能还需要对其排序后输出。下面是一简单例子,记录下以作备忘!
 
  HashMap<Term, Float> termMap = new HashMap<Term, Float>();
  List entries = new ArrayList(termMap.entrySet());
  Comparator cmp = new Comparator() {
   public int compare(Object o1, Object o2) {
    Map.Entry e1 = (Map.Entry) o1;
    Map.Entry e2 = (Map.Entry) o2;
    Comparable v1 = (Comparable) e1.getValue();
    Comparable v2 = (Comparable) e2.getValue();
    return v2.compareTo(v1);
   }
  };
  Collections.sort(entries, cmp);
  Iterator keys = entries.iterator();
  int resultCounter = 0;
  String queryString = "";
  while (keys.hasNext() && resultCounter < expandSize) {
   Map.Entry en = (Map.Entry) keys.next();
   Term t = new Term(((Term) en.getKey()).field(),
     ((Term) en.getKey()).text());
//   System.out.println("oringe Term:" + t);
   if (oringeSet.contains(t)) {
    System.out.println("oringe Term:" + t);
    continue;
   }
   queryString += en.getKey() + " ";
   resultCounter++;
  }

没有评论: