php的array_chunk函数将数组拆分为您指定大小的块。 您可以使用Arrays.copyOfRange在Java中执行此操作,并传入起点和终点。 这是一些示例代码:
/**
* Chunks an array into size large chunks.
* The last chunk may contain less than size elements.
* @param
* @param arr The array to work on
* @param size The size of each chunk
* @return a list of arrays
*/
public static List chunk(T[] arr, int size) {
if (size <= 0)
throw new IllegalArgumentException("Size must be > 0 : " + size);
List result = new ArrayList();
int from = 0;
int to = size >= arr.length ? arr.length : size;
while (from < arr.length) {
T[] subArray = Arrays.copyOfRange(arr, from, to);
from = to;
to += size;
if (to > arr.length) {
to = arr.length;
}
result.add(subArray);
}
return result;
}
例如,创建大小为2的块:
String[] arr = {"a", "b", "c", "d", "e"} ;
List chunks = chunk(arr,2);
这将返回三个数组:
{a,b}
{c,d}
{e}