工作中相信大家都会是HashMap记录一些映射,记录完后可能还需要对其排序后输出。下面是一简单例子,记录下以作备忘!
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++;
}
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++;
}
没有评论:
发表评论