文章目录
前言
跟着导师学java,最近学到了Map里的HashMap,知道了其多种用法,现在来做一个快速计算txt文件里面单词次数的小程序。
HashMap详解
我们可以看见,HashMap是继承于Map的,所以Map有的方法它都有,HashMap 中最常用的方法包括:
- put(key, value):将键值对添加到 HashMap 中。
- get(key):获取指定键对应的值。
- remove(key):删除指定键对应的键值对。
- containsKey(key):判断 HashMap 是否包含指定的键。
- keySet():返回 HashMap 中所有键组成的 Set 集合。
注意细节
HasHmap是无序、不重复的,如果要存储重复的数据应该用列表集合,其他详细补充看我白导的(76条消息) 【JAVA进阶】Set集合、Map集合_热爱编程的小白白的博客-CSDN博客
完整代码
public class ReadFileConut {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("E:/Java项目文件夹/JavaG/MultitHreading/src/csdn528/CountFile.txt", "r");
HashMap<String,Integer> contF = new HashMap<String,Integer>();
String str;
while ((str = file.readLine()) != null) {
String []words=str.split(",");//分割字符串
int i=1;
for(String word:words){//遍历字符串数组
word=word.toLowerCase();//将单词转换成小写
//判断集合中是否已存有不区分大小写的相同字符串,同时判断字符串是否是空串
if(!contF.containsKey(word)&&!word.equals(""))
{//将字符串存储到集合中
System.out.println("出现的单词有:"+word);
contF.put(word,i);
}
else {
i++;
contF.put(word,i);
}
}
}
System.out.println("此句子共出现"+contF.size()+"个单词。");
System.out.println("每个单词的个数为:"+contF);
//将读取到的数据输出到控制台
file.close();
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}}
代码和注释如图,大家多看几便就会了
小结
Java路漫漫,虽道阻且长,但行则必至!