【发布时间】:2017-02-17 16:47:04
【问题描述】:
Java 中有 TreeSet 数据结构,它提供了获取 1 个最大元素的能力。我需要允许收集 N 个最大元素的数据结构。
我需要这样的东西:
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,然后获取所需的任意数量的元素。请记住按降序排序。 -
当然可以:)但是如果存在数据结构(我要问的),我认为最好使用它。
-
您可以从
TreeSet获取降序迭代器。
标签: java data-structures treeset