java把list分成多个list
时间: 2023-05-04 19:02:20 浏览: 169
java中将一个List等分成n个list的工具方法(推荐)
5星 · 资源好评率100%
在Java中实现将一个List分成多个List的过程,可以采用以下的方法:
1.使用subList()方法:
Java List接口中的subList()方法可以实现将一个List分成多个List的效果。具体实现步骤为先计算出要分成的List的个数,然后把原List按照指定的块数分成多个子List,最后把每个子List都添加到一个大的List中。
public List<List<T>> splitList(List<T> list, int blockSize) {
int size = list.size();
int block = size / blockSize;
if (size % blockSize > 0) {
block++;
}
List<List<T>> lists = new ArrayList<List<T>>(block);
for (int i = 0; i < block; i++) {
int fromIndex = i * blockSize;
int toIndex = (i + 1) * blockSize;
if (toIndex > size) {
toIndex = size;
}
List<T> sublist = list.subList(fromIndex, toIndex);
lists.add(sublist);
}
return lists;
}
2.自定义分割方法:
我们也可以自定义实现List分割的方法。这种方法的主要思想是通过循环把原List中的元素逐一添加到一个新的ArrayList中,直到达到指定的分割条件为止。
public List<List<T>> splitList(List<T> list, int chunkSize) {
List<List<T>> chunks = new ArrayList<List<T>>();
for (int i = 0; i < list.size(); i += chunkSize) {
int end = i + chunkSize;
if (end > list.size()) {
end = list.size();
}
chunks.add(list.subList(i, end));
}
return chunks;
}
总之,Java中实现将一个List分成多个List的方法有很多,以上只是其中较为常用的两种方法。在实际应用中,我们可以根据具体需求选择合适的方法。
阅读全文