Java 将数组插入到另一个数组中
在变量“location”中存储的位置将[]插入数字[]的写入方法 可以通过阵列吗?您可以使用: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
下面是一个简单的示例,您可以按照此示例解决问题:
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
检查我的例子