基于索引的SortedSet子集

时间:2014-09-16 20:57:53

标签: java collections sortedset

我需要将sourceList中的对象添加到对集合进行排序的集合中,因为我们将对象添加到集合中。我正在考虑使用TreeSet

TreeSet bookSet

根据某些条件,我需要获取bookSet的子集。子集将是前N个元素。 N的值仅在从另一个bookSet准备好整个sourceList后才知道。

无论如何,我可以使用索引N获取bookSet的子集,类似于arrayList.subList(0,N)。

我可以使用headSet,但我需要知道第N + 1个元素。

1 个答案:

答案 0 :(得分:2)

取决于您想要实现的目标:

  • 您可以使用TreeSet.iterator()并重复N次。
  • 在Java 8中,您可以使用bookSet.stream().limit(N)
  • 您只需复制到new ArrayList(bookSet),然后选择子列表
  • 即可