在 Java 中创建集合的子集
2022-09-01 06:19:02
我有一个,即一个有序集合。我试图找到一个函数来返回集合的子集,即集合的前20个元素。我知道我可以通过创建一个新集,然后使用第一个集的迭代来填充它,但我希望能有更简洁的东西。LinkedHashSet
还看了一下谷歌的番石榴库,但看不到我想要的东西。
我有一个,即一个有序集合。我试图找到一个函数来返回集合的子集,即集合的前20个元素。我知道我可以通过创建一个新集,然后使用第一个集的迭代来填充它,但我希望能有更简洁的东西。LinkedHashSet
还看了一下谷歌的番石榴库,但看不到我想要的东西。
在番石榴中:
Set<Integer> subset = ImmutableSet.copyOf(Iterables.limit(set, 20));
请注意,这是懒惰地评估的,因此只创建一个额外的集合。Iterables.limit()
在Java 8中,你可以做
mySet.stream()
.skip(start) // the offset
.limit(count) // how many items you want
.collect(Collectors.toSet());