導入Java . io . file;
導入Java . io . io exception;
導入Java . util . ArrayList;
導入Java . util . collections;
導入Java . util . comparator;
導入Java . util . list;
導入Java . util . regex . matcher;
導入Java . util . regex . pattern;
導入org . Apache . commons . io . fileutils;
公共類測試20 {
/**
* @param args
*/
公共靜態void main(String[] args) {
// TODO自動生成的方法存根
String str = null
嘗試{
str = fileutils . readfiletostring(new File(" e . txt "));
} catch (IOException e) {
// TODO自動生成的catch塊
e . printstacktrace();
}
pattern p = pattern . compile(" \ \ b[\ \ w-']+\ \ b ");
matcher m = p . matcher(str);
列表& ltWord & gtwords = new ArrayList & ltWord & gt();
while(m.find()){
加(字數,m.group()。trim());
}
Collections.sort(words,new Comparator & ltWord & gt(){
@覆蓋
public int compare(Word o1,Word o2) {
// TODO自動生成的方法存根
返回o1.getWord()。compare to(O2 . get word());
}});
System.out.println(單詞);
}
私有靜態void add(List & lt;Word & gt單詞,字符串單詞){
// TODO自動生成的方法存根
for(Word temp : words){
if(temp.getWord()。等於(單詞)){
temp . set count(temp . get count()+1);
返回;
}
}
Word w = new Word();
w . set word(word);
words . add(w);
}
}
類別詞{
私有字符串字;
private int count = 1;
公共字符串getWord() {
返回單詞;
}
public void setWord(字符串字){
this.word = word
}
public int getCount() {
返回計數;
}
public void setCount(int count) {
this.count = count
}
@覆蓋
公共字符串toString() {
返回“Word [word=" + word +",count = "+count+"]”;
}
}