Android/Java:如何向数组添加数组

Android/Java:如何向数组添加数组,java,android,Java,Android,我有五个数组 int Circle_list[] = { Color.BLACK, 20, 20, 50 }; int Rect_list[] = { Color.BLUE, 80, 50, 115, 150 }; int Tri_list[] = { Color.RED, 190, 210, 150, 230, 140, 270 }; int mixColor[]; int mixCoor[]; 现在,我想将Circle\u list[]、Rect\u list[]和Tri\u list[]

我有五个数组

int Circle_list[] = { Color.BLACK, 20, 20, 50 };
int Rect_list[] = { Color.BLUE, 80, 50, 115, 150 };
int Tri_list[] = { Color.RED, 190, 210, 150, 230, 140, 270 };
int mixColor[];
int mixCoor[];
现在,我想将
Circle\u list[]
Rect\u list[]
Tri\u list[]
中的第一个元素(颜色)添加到
mixColor[]
中。并将所有剩余数字添加到
mixCoor[]

我该怎么做?for循环是否适用于此

mixColor[] = { Circle_list[0], Rect_list[0], Tri_list[0] };
至于
mixCoor
(我也会重命名您的标识符,它们太相似了)-顺序重要吗?如果不是,则只循环其他表,检查当前索引(循环中的计数器)的值是否有效,如果有效,则将其添加到新表中


至于
mixCoor
(我也会重命名您的标识符,它们太相似了)-顺序重要吗?如果不是,则只循环其他表,检查当前索引(循环中的计数器)的值是否有效,如果有效,则将其添加到新表中。

我更喜欢
ArrayList
,假设在您的情况下:

ArrayList<Integer> listCircle = ...
ArrayList<Integer> listRect = ...
ArrayList<Integer> listTri = ...
ArrayList<ArrayList<Integer>> storage = new ArrayList<ArrayList<Integer>>();
storage.add(listCircle);
storage.add(listRect);
storage.add(listTri);
ArrayList listCircle=。。。
ArrayList listRect=。。。
ArrayList listTri=。。。
ArrayList存储=新建ArrayList();
存储。添加(listCircle);
storage.add(listRect);
存储。添加(listTri);

我更喜欢
ArrayList
,假设您的情况是:

ArrayList<Integer> listCircle = ...
ArrayList<Integer> listRect = ...
ArrayList<Integer> listTri = ...
ArrayList<ArrayList<Integer>> storage = new ArrayList<ArrayList<Integer>>();
storage.add(listCircle);
storage.add(listRect);
storage.add(listTri);
ArrayList listCircle=。。。
ArrayList listRect=。。。
ArrayList listTri=。。。
ArrayList存储=新建ArrayList();
存储。添加(listCircle);
storage.add(listRect);
存储。添加(listTri);

//如果您真的想使用原语而不是ArrayList,这将起作用:

int mixColor[] = { Circle_list[0], Rect_list[0], Tri_list[0] };
int mixCoor[] = new int[Circle_list.length + Rect_list.length + Tri_list.length - 3];

int i, j=0;

for(i=1; i<Circle_list.length; ++i, j++) {
    mixCoor[j] = Circle_list[i];
}
for(i=1; i<Rect_list.length; ++i, j++) {
    mixCoor[j] = Rect_list[i];
}
for(i=1; i<Tri_list.length; ++i, j++) {
    mixCoor[j] = Tri_list[i];
}
int mixColor[]={Circle\u list[0],Rect\u list[0],Tri\u list[0]};
int mixCoor[]=new int[Circle_list.length+Rect_list.length+Tri_list.length-3];
int i,j=0;

对于(i=1;i//如果您真的想使用原语而不是ArrayList,这将起作用:

int mixColor[] = { Circle_list[0], Rect_list[0], Tri_list[0] };
int mixCoor[] = new int[Circle_list.length + Rect_list.length + Tri_list.length - 3];

int i, j=0;

for(i=1; i<Circle_list.length; ++i, j++) {
    mixCoor[j] = Circle_list[i];
}
for(i=1; i<Rect_list.length; ++i, j++) {
    mixCoor[j] = Rect_list[i];
}
for(i=1; i<Tri_list.length; ++i, j++) {
    mixCoor[j] = Tri_list[i];
}
int mixColor[]={Circle\u list[0],Rect\u list[0],Tri\u list[0]};
int mixCoor[]=new int[Circle_list.length+Rect_list.length+Tri_list.length-3];
int i,j=0;

对于(i=1;i
System.arrayCopy
对于大型数组往往更快:
System.arrayCopy
对于大型数组往往更快:前三个数组无效-它们包含
Color
对象和
int
的混合,在Java中,数组中的所有元素都必须是相同类型的(虽然允许某些多态性,但那是另一回事)前三个数组无效-它们包含
Color
对象和
int
的混合,在Java中,数组中的所有元素必须是相同类型的(虽然允许某些多态性,但那是另一回事)