689690691692693694695696
void add(BytesWritable word, int cnt) { while ((words.size() >= k) && words.peek().count < cnt) { words.poll(); } if ((words.size() < k) || words.peek().count == cnt) { words.add(new Item(word, cnt)); } }
699700701702703704705706707
while ((words.size() >= k) && words.peek().count < cnt) { words.poll(); } if ((words.size() < k) || words.peek().count == cnt) { for (; itWords.hasNext();) { words.add(new Item(itWords.next(), cnt)); } } }
711712713714715716717718719720721
for (int i = 0; i < ret.length; ++i) { ret[i] = words.poll(); } for (int i = 0; i < ret.length / 2; ++i) { Item tmp = ret[i]; ret[i] = ret[ret.length - i - 1]; ret[ret.length - i - 1] = tmp; } return ret;