我有一项任务是根据多个文件中的计数值打印n个经常使用的单词。 现在问题是在打印n个单词后,我必须在最后位置打印所有关系
例如,如果我根据最高计数打印10个常用单词 当我使用for循环时输出就像这样。
CODE
int listSize = newList.size() >= 10 ? 10 : newList.size();
for (int k = 0; k < listSize; k++) {
Words w = newList.get(k);
System.out.println("Word : " + ++j + " " + w.getWord() + " "
+ w.getCount());
// System.out.println(w.getWord());
}
输出:
word 1 : liked 104
word 2 : hello 98
....
....
....
word 10 : picnic 15
现在如果我再次遇到与15相同的数字,我也必须打印它们 如果我有五个单词相同的单词数15 我必须打印所有关于最后位置的所有关系,必须像这样报告
**OUTPUT :**
word 11 : camera 15
word 12 : monkey 15
word 13 : carrot 15
word 14 : penguin 15
word 15 : bottle 15
如何实施此案例指导我提前感谢
答案 0 :(得分:0)
如果newList
按getCount
排序,那么打印与上一个打印字相同count
的字词的最简单方法是:
int k; // init k before the cycle
for (k = 0; k < listSize; k++) {
Words w = newList.get(k);
System.out.println("Word : " + ++j + " " + w.getWord() + " "
+ w.getCount());
// System.out.println(w.getWord());
}
if (k > 0) {
int lastCount = newList.get(k - 1).getCount(); // last printed count
// print words from the k-th
while (k < newList.size()
&& newList.get(k).getCount() == lastCount) {
Words w = newList.get(k);
System.out.println("Word : " + ++j + " " + w.getWord() + " "
+ w.getCount());
++k;
}
}