java迭代数组并创建另一个数组的最佳实践
我有一个数组,例如:
Arraylist<myObjec> subArray = {item1_1,item1_2, item1_3}
Arraylist<myObjec> subArray = {item2_1,item2_2, item2_3, item2_4}
Arraylist<myObjec> mainArray = {subArray_1,subArray_2}
我想创建如下的新数组:
newArray = {item1_1, item1_2, item2_1, item2_2, item1_3, item2_3, item2_4}
所以我想从每个子数组2项中提取一段项,然后返回数组,直到我完成
实现这一结果的最佳做法是什么
更新:
我尝试使用这个递归函数:
try {
postList = CreateOneListFromSubArrays(mySmoraTemp, postList, 0, countSublArray(mySmoraTemp), 2);
} catch (Exception c){
}
private ArrayList<MyItemClass> CreateOneListFromSubArrays (ArrayList<SmoraItem[]> _array, ArrayList<SmoraItem> result,int n, int _size, int _sectionSize){
if(result.size() < _size){
for (int i=0; i<_array.size(); i++){
for (int j=n; j<n+_sectionSize; j++) {
result.add(i, _array.get(i)[n+j]);
}
}
n += 1;
CreateOneListFromSubArrays(_array, result, n, _size, _sectionSize);
}
return result;
}
但我想知道有没有更好的办法
# 1 楼答案
你不必让它递归。一个循环到分拣机阵列大小的两倍就足够了
这不是soution,您必须首先找到分拣机阵列,在此循环之后,您必须处理较长阵列中的剩余元素