java中的分割集

问题描述 投票:0回答:1

我正在尝试找到在java中保留集合前半部分的最佳方法。 我的 Set (java.util.Set) 包含 60000 个元素,我只需要保留其中的前 30000 个。

最好的方法是什么?

java set
1个回答
0
投票

使用Guava库,我们可以使用Lists.partition()方法将列表分割成连续的子列表,每个列表指定大小

Java 文档:

https://guava.dev/releases/21.0/api/docs/com/google/common/collect/Lists.html#partition-java.util.List-int-

您也可以使用

https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#subList-int-int-

专为套装

Set<Integer> subset = ImmutableSet.copyOf(Iterables.limit(set, 30000)); 

番石榴文档:

https://guava.dev/releases/21.0/api/docs/com/google/common/collect/Iterables.html#limit-java.lang.Iterable-int-

用户流:

yourSet.stream().limit(30000).collect(Collectors.toSet());
© www.soinside.com 2019 - 2024. All rights reserved.