import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import org.junit.Test;
public class CountOfSurname {
@Test
public void CountOfSurname() throws IOException {
File f = new File("D:/name.txt");
FileReader fre = new FileReader(f);
BufferedReader bre = new BufferedReader(new InputStreamReader(
new FileInputStream(f), "gbk"));
String str = "";
ArrayList<String> list = new ArrayList<>();
while ((str = bre.readLine()) != null) {// ●判断最后一行不存在,为空
String[] strr = str.split(" ");
list.add(strr[0]);
//System.out.println(str);
}
bre.close();
fre.close();
//现在所有的姓氏都在list中,接下来需要做的就是计算每个姓氏出现的次数
HashMap<String,Integer> map = new HashMap<>();
for(int i = 0; i < list.size(); i++){
String surname = list.get(i);
//如果这个姓氏不存在
if(!map.containsKey(surname)){
map.put(surname, 1);
//这个字符已经存在
}else{
map.put(surname, map.get(surname)+1);
}
}
System.out.println(map);
}
}