看到这个题的时候,我先想到了用键值对的方式去写,也就是使用Map接口的实现类来做,我这里选择了HashMap,也可以使用数组,及其他集合
class ExerciseTwo {
public static void main(String[] args) throws IOException {
HashMap<String,Integer> hashMap=new HashMap();
FileReader fileReader=new FileReader(new File("src/JavaCollection/Name.txt"));
BufferedReader bufferedReader=new BufferedReader(fileReader);
String line;
String name;
String[] names;
while ((line=bufferedReader.readLine())!=null){
names=line.split(" ");
name=names[0];
if (!hashMap.containsKey(name)){
hashMap.put(name, 1);
}
else{
Integer integer = hashMap.get(name);
hashMap.put(name, ++integer);
}
}
Set<Map.Entry<String, Integer>> entries = hashMap.entrySet();
for (Map.Entry<String, Integer> entry : entries) {
System.out.println(entry.getKey()+"-->"+entry.getValue());
}
}
}
这是我保存好的文件
运行结果
?
?
|