Java语言中文件打开一个字典,然后怎么把字典里面重复的数字编号记录下来呢

Java语言中文件打开一个字典,出现重复的,然后怎么把字典里面重复的数字编号记录下来呢?
谢谢
/081837900786162.pn 这个文件的打开

以下是一个示例代码,用于在Java中读取字典文件并记录重复单词及其出现位置(编号)

import java.io.*;
import java.util.*;

public class DuplicateWordsFinder {

    public static void main(String[] args) {
        File file = new File("dictionary.txt"); // 字典文件路径

        HashMap<String, Integer> frequencyMap = new HashMap<String, Integer>(); // 存储单词及其出现次数

        try {
            BufferedReader br = new BufferedReader(new FileReader(file));
            String line;
            int lineNum = 1; // 记录行号
            while ((line = br.readLine()) != null) {
                String[] words = line.split("\\s+"); // 对字典文件的每一行按空格拆分成单词数组
                for (String word : words) {
                    if (frequencyMap.containsKey(word)) { // 判断哈希表中是否已经存在该单词
                        frequencyMap.put(word, frequencyMap.get(word) + 1); // 存在则出现次数加一
                    } else {
                        frequencyMap.put(word, 1); // 不存在则插入哈希表
                    }
                }
                lineNum++; // 行号加一
            }

            br.close();

            // 查找重复单词
            List<String> duplicateWords = new ArrayList<>();
            br = new BufferedReader(new FileReader(file));
            lineNum = 1;
            while ((line = br.readLine()) != null) {
                String[] words = line.split("\\s+");
                for (String word : words) {
                    if (frequencyMap.get(word) > 1 && !duplicateWords.contains(word)) { // 如果该单词出现次数大于1且没有被重复记录过
                        duplicateWords.add(word); // 记录该单词为重复单词
                        System.out.println("Duplicate word found: " + word);
                        System.out.println("Appears at lines: ");
                    }
                    if (duplicateWords.contains(word)) { // 如果该单词是重复单词
                        System.out.print(lineNum + " ");
                    }
                }
                System.out.println(); // 换行
                lineNum++;
            }

            br.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这个代码会读取指定路径下的dictionary.txt文件,并将文件中所有单词存储在哈希表frequencyMap中。读取单词时,对于每个单词,如果它已经在哈希表中了,就将它的出现次数加1;否则,就将它添加到哈希表中,并将出现次数设为1。

遍历完整个文件后,代码再遍历一次文件,查找哈希表frequencyMap中出现次数大于1的单词,将它们记录在一个列表中,并输出它们出现的编号

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^