我有一套超过40,000件的物品,我想把它分成多套,每套5,000件,因为Room不允许我一次用一组5,041件作为参数。
我该怎么做呢?
fun breakDownSet(set: Set<String>) : List<Set<String>> {
val sets = ArrayList<Set<String>>()
// TODO
return sets
}发布于 2020-04-25 13:23:38
您可以使用chunked。
fun breakDownSet(set: Set<String>): List<Set<String>> = set.chunked(5000) { it.toSet() }这将将您的集合分成几个集合,每个集合不包含超过5000项。
发布于 2020-04-25 13:23:44
对不起,不认识Kotlin,这是Java版本。对你来说皈依科特林应该很容易。
static List<Set<String>> breakDownSet(Set<String> set, int size) {
List<String> list = new ArrayList<>(set);
List<Set<String>> result = new ArrayList<>();
for (int i = 0; i < list.size(); i += size)
result.add(new HashSet<>(list.subList(i, Math.min(i + size, list.size()))));
return result;
}https://stackoverflow.com/questions/61426229
复制相似问题