java中有TreeSet數據結構,它提供了獲取1個最大元素的能力。我需要能夠獲得N個最偉大元素集合的數據結構。有沒有一種數據結構能夠獲得N個最偉大的元素的集合,用Java實現?
我需要水木清華這樣的:
GreatestN<Integer> greatest = new GreatestN<>(Arrays.asList(5, 2, 1, 7));
greatest.getN(2); // returns {1, 2}
greatest.getN(3); // returns {1, 2, 5}
greatest.add(0);
greatest.getN(2); // returns {0, 1}
您可以排序的數據結構,從它那裏得到一個'Iterator',然後得到無論你需要多少元素。只記得按降序排序。 – Kevin
當然我可以:)但如果數據結構(我問)存在,我認爲使用它會更好。 –
您可以從'TreeSet'獲得遞減迭代器。 – shmosel