Java自动判断文件单词出现次数

文章目录

前言

注意细节

完整代码

小结


前言

        跟着导师学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路漫漫,虽道阻且长,但行则必至!

猜你喜欢

转载自blog.csdn.net/qq_51294997/article/details/130918232