将两个阵列放在一起

时间:2012-04-08 18:40:14

标签: java android arrays

我正在为Android开发游戏 这个游戏读取一个int []数组并从中形成一个地图

现在我想将较小的数组随机添加到此数组中 但我怎么能这样做我没有任何线索

我在这里搜索过,但我找不到一个好的解决方案

3 个答案:

答案 0 :(得分:1)

如果你需要做很多次数组不是一个好的选择,因为它们有固定的大小,每次增加它们的大小时都必须重新分配。此外,您必须将旧数组中的值复制到新的更大的数组中。

请改为ArrayList<Integer>

如果这是你不时做的事情,你应该做以下的事情

int[] oldArray = new int[Y];
int[] smallArray = new int[X];
int[] newArray = Arrays.copyOf(oldArray,X+Y);
for (int i = Y; i < X+Y; ++i)
  newArray[i] = smallArray[i-Y];

答案 1 :(得分:0)

在Java数组中,大小不会改变。您必须创建新的更大/更小的并复制数据。 This可能有帮助。

答案 2 :(得分:0)

你可以使用

Vector<String> vec = new Vector<String>();
vec.add("a");
vec.add("b);

假设这是带有两个数据的旧向量(或数组)。

如果你想添加更多数据或想要添加另一个数组。

for(int i=0;i<arr.length;i++)
{
    vec.add(arr[i]);
}

您还可以使用

获取矢量长度
    int i=vec.size();