Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数组插入到另一个数组中_Java_Arrays - Fatal编程技术网

Java 将数组插入到另一个数组中

Java 将数组插入到另一个数组中,java,arrays,Java,Arrays,在变量“location”中存储的位置将[]插入数字[]的写入方法 可以通过阵列吗?您可以使用: 下面是一个简单的示例,您可以按照此示例解决问题: double a[] = {1, 2, 3, 4, 5}; double b[] = {6, 7, 8}; int local = 5; double result[] = new double[a.length + b.length]; System.arraycopy(a, 0, result, 0, a.length); System.ar

在变量“location”中存储的位置将[]插入数字[]的写入方法

可以通过阵列吗?

您可以使用:


下面是一个简单的示例,您可以按照此示例解决问题:

double a[] = {1, 2, 3, 4, 5};
double b[] = {6, 7, 8};
int local = 5;
double result[] = new double[a.length + b.length];

System.arraycopy(a, 0, result, 0, a.length);
System.arraycopy(b, 0, result, local, b.length);
System.out.println(Arrays.toString(result));
输出

[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0]
您可以使用:


下面是一个简单的示例,您可以按照此示例解决问题:

double a[] = {1, 2, 3, 4, 5};
double b[] = {6, 7, 8};
int local = 5;
double result[] = new double[a.length + b.length];

System.arraycopy(a, 0, result, 0, a.length);
System.arraycopy(b, 0, result, local, b.length);
System.out.println(Arrays.toString(result));
输出

[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0]
您使用数组而不是列表的具体原因是什么 作为一名ArrayList

如果您使用的是java.util.List,则使用

如果您使用的是阵列,那么您需要自己执行阵列分配和复制。下面是来自OpenJDK的
ArrayList.addAll(int,Collection)
的一个示例:

// Copyright 1997-2007 Sun Microsystems, Inc.
public boolean addAll(int index, Collection<? extends E> c) {
    rangeCheckForAdd(index);

    Object[] a = c.toArray();
    int numNew = a.length;
    ensureCapacity(size + numNew);  // Increments modCount

    int numMoved = size - index;
    if (numMoved > 0)
        System.arraycopy(elementData, index, elementData, index + numNew,
                         numMoved);

    System.arraycopy(a, 0, elementData, index, numNew);
    size += numNew;
    return numNew != 0;
}
//版权所有1997-2007太阳微系统公司。
公共布尔addAll(int索引,集合
您使用数组而不是列表的具体原因是什么
作为一名ArrayList

如果您使用的是java.util.List,则使用

如果您使用的是数组,那么您需要自己执行数组分配和复制。以下是OpenJDK中的
ArrayList.addAll(int,Collection)

// Copyright 1997-2007 Sun Microsystems, Inc.
public boolean addAll(int index, Collection<? extends E> c) {
    rangeCheckForAdd(index);

    Object[] a = c.toArray();
    int numNew = a.length;
    ensureCapacity(size + numNew);  // Increments modCount

    int numMoved = size - index;
    if (numMoved > 0)
        System.arraycopy(elementData, index, elementData, index + numNew,
                         numMoved);

    System.arraycopy(a, 0, elementData, index, numNew);
    size += numNew;
    return numNew != 0;
}
//版权所有1997-2007太阳微系统公司。

公共布尔addAll(int-index,Collection您也可以使用数组

int[] numbers = ...
int[] a = ...

int n = numbers.length;
numbers = Arrays.copyOf(numbers, numbers.length + a.length);
System.arraycopy(a, 0, numbers, n, a.length);

总的来说,List和ArrayList是更好的抽象,效率几乎相同。

您也可以使用数组

int[] numbers = ...
int[] a = ...

int n = numbers.length;
numbers = Arrays.copyOf(numbers, numbers.length + a.length);
System.arraycopy(a, 0, numbers, n, a.length);

一般来说,List和ArrayList是更好的抽象,效率几乎相同。

是的,您可以。

但是数组必须是二维
数组
!示例:

public static double[][] numbers = new double[MAX_CAPACITY][];

public boolean insertArray(int location, double[] a)
{    
    if (length != MAX_CAPACITY)
    {
        numbers[location] = a;
        length++;
        return true;
    }
    return false;
}

是的,你可以。

但是数组必须是二维
数组
!示例:

public static double[][] numbers = new double[MAX_CAPACITY][];

public boolean insertArray(int location, double[] a)
{    
    if (length != MAX_CAPACITY)
    {
        numbers[location] = a;
        length++;
        return true;
    }
    return false;
}

数字的类型是什么?使用循环。你可以使用
arraycopy
,但我猜这只是练习的目的。当我们不知道问题的参数时,怎么会有这么多答案?数字的类型是什么?使用循环。你可以使用
arraycopy
,但我猜这只是练习的目的。你怎么能当我们不知道问题的参数时,会有很多答案?这只是将一个数组的内容复制到另一个数组中(合并)…我相信问题是问如何将数组(即对数组的引用)插入另一个数组(即二维数组)的特定位置@CarlitosWay:那么你是否投了反对票?你可以用
系统做很多事情。arraycopy
检查我的示例这只会将一个数组的内容复制到另一个数组(合并)…我相信问题是如何将数组(即对数组的引用)插入另一个数组(即二维数组)的特定位置@CarlitosWay所以你投了反对票?你可以用
系统做很多事情。arraycopy
检查我的例子