import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; public class Statics { /** * 存放搜索关键词与相应的搜索次数 */ private Map<String, Integer> keywordMap = new HashMap<String, Integer>(); /** * 增加搜索关键词 * * @param keyword */ public void addKeyword(String keyword) { if (keywordMap.containsKey(keyword)) { int num = keywordMap.get(keyword); num++; keywordMap.put(keyword, num); } else { keywordMap.put(keyword, 1); } } /** * 进行按value值排序,从大到小 * * @param keywordMap * 搜索关键词的hashMap * @return */ public List<Entry<String, Integer>> sortKeywordMap( Map<String, Integer> keywordMap) { List<Entry<String, Integer>> arrayList = new ArrayList<Entry<String, Integer>>( keywordMap.entrySet()); Collections.sort(arrayList, new Comparator<Entry<String, Integer>>() { public int compare(Entry<String, Integer> e1, Entry<String, Integer> e2) { return (e2.getValue()).compareTo(e1.getValue()); } }); for (Entry<String, Integer> entry : arrayList) { System.out.println(entry.getKey() + " " + entry.getValue()); } return arrayList; } /** * 对搜索关键词的hashMap 进行按value值排序,从大到小 * * @return */ public List<Entry<String, Integer>> sortKeywordMap() { return sortKeywordMap(keywordMap); }