gpt4 book ai didi

java - 在 Java 中将较大的集合(集合、数组、列表)拆分为较小的集合,并跟踪最后一个返回的集合

转载 作者:IT老高 更新时间:2023-10-28 21:03:47 25 4
gpt4 key购买 nike

public Collection<Comment> getCommentCollection() {
commentCollection = movie.getCommentCollection();
return split((List<Comment>) commentCollection, 4);
}

public Collection<Comment> split(List<Comment> list, int size){

int numBatches = (list.size() / size) + 1;
Collection[] batches = new Collection[numBatches];
Collection<Comment> set = commentCollection;

for(int index = 0; index < numBatches; index++) {
int count = index + 1;
int fromIndex = Math.max(((count - 1) * size), 0);
int toIndex = Math.min((count * size), list.size());
batches[index] = list.subList(fromIndex, toIndex);
set = batches[index];
}

return set;
}

我正在尝试将较大的集合拆分为较小的集合,具体取决于原始集合中的项目数。然后在每次调用 get 方法时返回较小的集合之一,同时跟踪返回的是哪个较小的集合。我怎样才能做到这一点?

最佳答案

也许我不明白这个问题,但这是列表的一部分:

List<E> subList(int fromIndex, int toIndex)

Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If fromIndex and toIndex are equal, the returned list is empty.) The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa. The returned list supports all of the optional list operations supported by this list.

This method eliminates the need for explicit range operations (of the sort that commonly exist for arrays). Any operation that expects a list can be used as a range operation by passing a subList view instead of a whole list. For example, the following idiom removes a range of elements from a list:

list.subList(from, to).clear();

docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html

关于java - 在 Java 中将较大的集合(集合、数组、列表)拆分为较小的集合,并跟踪最后一个返回的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5222497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com