Ò»µÀJavaÃæÊÔÌâ ¶ÁȡһƪӢÎÄÎÄÕ£¬Êä³öÆäÖгöÏÖµ¥´ÊµÄ´ÎÊý×î¶àµÄ5¸ö,дjavaº¯Êý

2014-11-24 02:40:34 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 0
package com.test.string;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
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;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TesWordCount {

	/**½âÌâ˼· 
	 *         1.ÏÈȥȡÎļþµÄÎÊÄÚÈÝ
	 *         2.¶Ô¶ÁÈ¡ÎļþÖеÄÄÚÈݽøÐÐÕýÔòÆ¥Å䡾a-zA-Z¡¿
	 *         3.ÓÃMap±£´æ µ¥´Ê ºÍ³öÏֵĴÎÊý
	 *         4.×Ô¶¨ÒåComparatorÅÅÐò
	 *         5.°ÑmapÖÐÄÚÈݷŵ½listÖÐ
	 *         6.¶Ôlist½øÐÐCollections.sort() ½øÐÐ×Ô¶¨ÒåÅÅÐò
	 *         7¡£Êä³öÅÅÐòºóµÄÄÚÈÝ
	 * 
	 * 
	 * 
	 * 
	 * 
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		
		@SuppressWarnings("resource")
		BufferedReader buffer=new BufferedReader(new FileReader("d:/c.txt"));
		StringBuffer sb=new StringBuffer();
		String str=null;
		while((str=buffer.readLine())!=null){
			sb.append(str);
		}
		
		buffer.close();
		Pattern pattern=Pattern.compile("[a-zA-Z]+");
		Matcher matcher=pattern.matcher(sb.toString());
		Map
  
map=new HashMap (); String word=""; int count; while(matcher.find()){ word=matcher.group(); //System.out.println("sr="+word); if(map.containsKey(word)){ count=map.get(word); map.put(word, count+1); }else{ map.put(word, 1); } } List > list=new ArrayList >(map.entrySet()); Collections.sort(list,new MyComparable()); int last=list.size()-1; for(int i=last;i>last-5;i--){ System.out.println("key="+list.get(i).getKey()+" value="+list.get(i).getValue()); } } } class MyComparable implements Comparator >{ @Override public int compare(Entry o1, Entry o2) { // TODO Auto-generated method stub return o1.getValue().compareTo(o2.getValue()); } }