StringBuffer strBuf=new StringBuffer("a,b,c,d,e,f,a,a,d,c,c");
StringTokenizer st=new StringTokenizer(strBuf.toString(),",");
Map set=new TreeMap();
while(st.hasMoreTokens()) {
String temp=st.nextToken();
Object o=set.get(temp);
if(o==null)
set.put(temp,new Integer(0));
else
set.put(temp,new Integer(((Integer)o).intValue()+1));
}
//打印Set即可
StringTokenizer st=new StringTokenizer(strBuf.toString(),",");
Map set=new TreeMap();
while(st.hasMoreTokens()) {
String temp=st.nextToken();
Object o=set.get(temp);
if(o==null)
set.put(temp,new Integer(0));
else
set.put(temp,new Integer(((Integer)o).intValue()+1));
}
//打印Set即可
解决方案 »
- 如何将这个转化成Java类或者其他解决方案
- 如何读出TXT文件中某一到题目出来 帮我看下代码哪里出错帮忙修改下
- 用过spring rich client的进来看看这个问题
- 请问谁看过孙鑫的Struts2深入详解和开发者突击:Struts 2核心技术与Java EE框架整合开发实战这两本书?
- java实现关机,重起,注销,怎么弄????
- 请教一段简单代码,关于调用frame的
- 怎样执行一个文件??帮忙。
- 随机问题!
- IE5.0版不支持“parent.form1.holdDateAll.options[parent.form1.holdDateAll.length]=new Option('aa','aa')”,怎么办?
- 提交后,如何取得<select>中的多个选择的值?
- 刚开始学j2se ,对程序执行思路不清楚,请高手讲解?
- 问一个关于 null 的问题
的实现方式很好,果然不愧是两个星的人,呵呵!
import java.util.*;
public class Test {
public static void main(String[] args) {
StringBuffer strBuf=new StringBuffer("a,b,c,d,e,f,a,a,d,c,c");
StringTokenizer st=new StringTokenizer(strBuf.toString(),",");
Map set=new TreeMap();
while(st.hasMoreTokens()) {
String temp=st.nextToken();
Object o=set.get(temp);
if(o==null)
set.put(temp,new Integer(1));
else
set.put(temp,new Integer(((Integer)o).intValue()+1));
}
Iterator i=set.keySet().iterator();
while(i.hasNext()) {
System.out.print((String)i.next()+" ");
}
System.out.println();
Integer integer=(Integer)Collections.max(set.values());
System.out.println(integer.intValue());
}
}
import java.io.*;//用来计算单词出现的次数
class Counter{
private int i = 1;
int read(){
return i;
}
void increment(){
i++;
}
}public class StringBufferToString{
//private FileReader f;
StringReader sr;
//如要排序用TreeMap
private HashMap counts = new HashMap();
private StreamTokenizer st;
StringBufferToString(StringBuffer s){
if (s == null){
throw new NullPointerException();
}
sr = new StringReader(s.toString());
st = new StreamTokenizer(new BufferedReader(sr));
}
void countWords(){
try{
while(st.nextToken() != StreamTokenizer.TT_EOF){
String s;
switch(st.ttype){
case StreamTokenizer.TT_EOL:
s = "EOL";
break;
case StreamTokenizer.TT_NUMBER:
s = String.valueOf(st.nval);
break;
case StreamTokenizer.TT_WORD:
s = st.sval;
break;
default:
s = String.valueOf((char)st.ttype);
}
if (counts.containsKey(s))
((Counter)counts.get(s)).increment();
else
counts.put(s, new Counter());
}
}catch(IOException e){
System.err.println("countWords() unsuccessful");
}
}
public Set keySet(){
return counts.keySet();
}
public Counter getCounter(String key){
return (Counter)counts.get(key);
}
public String getString(){
Iterator it = this.keySet().iterator();
String k;
String result = "";
while(it.hasNext()){
k = (String)it.next();
if(k.equals(",")){
continue;
}
result = result + k + ",";
}
result = result.substring(0, result.length() - 1);
return result;
} public static void main(String[] args) throws FileNotFoundException{
StringBuffer sb = new StringBuffer("a,b,c,d,e,f,a,a,d,c,c");
StringBufferToString wc = new StringBufferToString(sb);
wc.countWords();
Iterator it = wc.keySet().iterator();
String k;
while(it.hasNext()){
k = (String)it.next();
if(k.equals(",")){
continue;
}
System.out.println(k + " : " +
wc.getCounter(k).read());
}
System.out.println(wc.getString());
}
}