有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何连接数组

我正在使用一个返回一些整数的函数

int[] return;

这个函数在这样一个循环中

public static int[] toEOBArray(double[] tempVal) 
{
    int[] out;
    for (int i = 0; i < 10; i++)
    {
        out = fixArray(tempVal[i]);
    }
    return out;
}

我想要的是,由于来自fixArray的新数组将它们添加到以前的结果中,所以最后我有一个大数组,它将包含由fixArray产生的所有小数组

最有效的方法是什么? 我的主要问题是不知道如何初始化保存所有值的数组


共 (2) 个答案

  1. # 1 楼答案

    如果只想使用数组,则必须首先找到连接数组的长度。然后可以使用System.arraycopy将小数组复制到输出数组

    public static int[] toEOBArray(double[] in) 
    {
        int[][] arrays = new int[10][];
        int len = 0;
        for (int i = 0; i < 10; i++)
        {
            arrays[i] = fixArray(tempVal[i]);
            len += arrays[i].length;
        }
        int[] out = new int[len];
        int offset = 0;
        for (int i = 0; i < 10; i++)
        {
            System.arraycopy(arrays[i],0,out,offset,arrays[i].length);
            offset += arrays[i].length;
        }
        return out;
    }
    
  2. # 2 楼答案

    如果您坚持使用本机数组(而不是像ArrayList这样的集合),那么您将希望使用ArrayUtils classfrom Apache Common Lang向Java本机数组添加许多类似集合的功能,其中一个是addAll:

    ArrayUtils.addAll(fixArray, tempVal);