java - 计算文件中相同的行数,JAVA

标签 java file java.util.scanner readfile

我有一个文本文件,其中有几行动物,这些动物在此列表中出现 1 到 n 次。我需要读取这个文本文件,计算所有单独的动物出现次数,从最高到最低对它们进行排序,然后将它们放入 jtable 中。

例如,文本文件如下所示:

dog
sheep
cat
horse
cat
tiger
cat
cat
tiger

我需要像这样计算所有相同的事件:

dog 1
sheep 1
cat 4
horse 1
tiger 2

然后将它们从最高到最低排序并以某种方式将它们放入表格中,这样就可以了:

Animal name: count
cat          4
tiger        2
dog          1
sheep        1
horse        1

所以,现在我的具体问题是如何计算所有单独动物的匹配数?

感谢您的帮助!

<小时/>

编辑

Vishal Kamat 提供的答案有效,我的动物及其出现次数已用此代码进行计数:

java hashmap word count from a text file

现在,我只需要将所有这些信息放入一个新的 jtable

最佳答案

只需使用开关盒即可。您可以为每只动物使用一个计数器。或者使用 arrayList 来存储每种动物的数量...

   String line = reader.readLine();
        while (line != null) {
            switch (line) {
                case "cat":
                catCounter++;
                break;
                case "dog":
                dogCounter++;
                break;
                case "horse":
                horseCounter++;
                break;
                case "tiger":
                tigerCounter++;
                break;
                case "sheep":
                sheepCounter++;
                break;
                default:
                break;
            }
        }

关于java - 计算文件中相同的行数,JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36967655/

相关文章:

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - while & for 循环和 JOptionPane 数据输入连接到 for 循环

java - 使用 Gson 序列化和反序列化枚举

file - 如何在gradle zipTree中递归复制文件夹内容?

c++ - 同步独立的应用程序。 (如何在运行时检查文件是否被另一个程序修改)

java - 扫描仪 HasNextLine 总是返回 false

java - 在 java Scanner.next() 中

java - 如何从信号/阵列中剪切出模式?

javascript - 从 url 中删除 webjars 版本

c - 如何获取/使用用户输入来指定 C 中的外部文件位置?这行得通吗?