下面代码是从控制台读入数据
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test{
public static void main(String[] args) {
class Word{
String name = "";
int count = 0;
public Word(String name,int count) {
this.name = name;
this.count = count;
}
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<Word> words = new ArrayList<Word>();
Comparator<Word> com = new Comparator<Word>(){
@Override
public int compare(Word o1, Word o2) {
return o1.name.compareTo(o2.name);
}
};
try {
String line = br.readLine().replaceAll("[^a-zA-Z]+", " ");
String[] sarr = line.split(" ");
for(String str : sarr){
if(words.size()<1){
words.add(new Word(str,1));
continue;
};
int i = 0;
for(;i<words.size();i++){
if(words.get(i).name.equals(str)){
words.get(i).count++;
break;
}
}
if(i==words.size()) words.add(new Word(str,1));
}
for(Word word : words){
System.out.println(word.name+":"+word.count);
}
Collections.sort(words,com);
System.out.println();
for(Word word : words){
System.out.println(word.name+":"+word.count);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}