我有一个文本文件,其中包含数千行的1个单词/字符。我创建了一个TreeMap<String, Integer> s = new TreeMap<>();
,它将文本文件中的每一行存储为关键字,并且该地图的值是一个整数,用于计算文件中找到同一个单词的次数(重复项)。Java将输入文件中找到的次数写入文件的映射关键码(存储为映射的值)
我想现在将结果写入到输出文件w中,其中重复项的打印次数与它们出现的次数相同(作为映射值计算)。
截至目前,我有以下的代码写入到输出文件:
for (String value : s.keySet()) {
w.println(value);
}
但是,这仅在输出文件中写入一次,每个键。基本上就是我试图得到的是:
地图:
[(hello, 1); (apple, 3); (java, 2); (python, 1)]
输出文件应该是:
apple
apple
apple
hello
java
java
python
而且......你有什么试过的?你面临的困难是什么?你似乎知道地图是如何工作的,而且你似乎知道如何循环,所以你拥有了你需要的一切。 –
它写一次,因为's.keySet()'返回一组键,这意味着=>你得到的所有单词,但不是,它们出现的时间有多少。你需要做的是在第一个循环中为第二个循环(for int(int i = 0; i
我尝试了一些不同的东西,主要是尝试编写一个for循环,该循环根据与该键相对应的值将键写入输出文件特定的次数。但是,由于某些原因,当我添加for循环并尝试运行该程序时,它不再写入输出文件。我试图弄清楚为什么会发生这种情况,并找出一些可以实现这一点的不同方式。 – MastRofDsastR