java - 将 array_chunk 从 php 转换为 java

标签 java php

我的PHP代码是:

$splitArray = array_chunk($theArray,ceil(count($theArray) / 2),true);

最佳答案

php 的 array_chunk 函数将数组分割成您指定大小的 block 。您可以在 Java 中使用 Arrays.copyOfRange 并传入起点和终点来执行此操作。这是一些示例代码:

/**
 * Chunks an array into size large chunks. 
 * The last chunk may contain less than size elements. 
 * @param <T>
 * @param arr The array to work on 
 * @param size The size of each chunk 
 * @return a list of arrays
 */
public static <T> List<T[]> chunk(T[] arr, int size) {

    if (size <= 0)
        throw new IllegalArgumentException("Size must be > 0 : " + size);

    List<T[]> result = new ArrayList<T[]>();

    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 的 block :

String[] arr = {"a", "b", "c", "d", "e"} ;
List<String[]> chunks = chunk(arr,2);

这将返回三个数组:

{a,b}
{c,d}
{e}

关于java - 将 array_chunk 从 php 转换为 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4497972/

相关文章:

php,静态方法重载

php - Wordpress 短代码传递值数组

java - 在 Android Studio 中显示在线数据库中的表和列

java - 使用 javax.xml.validation.Validator : cannot resolve types come from 2nd XSD 针对 XSD 进行 XML 验证

java - SQL连接异常

java - 具有文件的对象的内存管理。

java - 你如何从一个用Java调用的php文件中获取返回值

php - 从 MySQL 按 IP 行获取所有用户名

php - 想让 'example.com/home'在地址栏显示为 'example.com'

java - 根据角色禁用 swagger-ui