Java:将不同类型的数组相互排序
我需要根据另一个数组中的位置对数组进行排序。
我有什么工作,但它有点慢,是否有更快/更好的方法来实现这一点?
2部分:
第1部分
int i = mArrayName.size();
int temp = 0;
for(int j=0;j<i;j++){
temp = mArrayPosition.get(j);
mArrayName.set(temp, mArrayNameOriginal.get(j));
}
在这部分中,mArrayPosition是我希望mArrayName所在的位置。
防爆。
输入:
mArrayName =(一,二,三)
mArrayPosition =(2,0,1)
输出:
mArrayName =(三,一二)
第2部分
int k=0;
int j=0;
do{
if(mArrayName.get(k)!=mArrayNameOriginal.get(j)){
j++;
}else{
mArrayIdNewOrder.set(k, mArrayId.get(j));
k++;
j=0;
}
}while(k < mArrayName.size());
}
在此部分中,mArrayName是重新排序的名称数组,mArrayNameOriginal是原始名称数组。
防爆。
mArrayName =(三,一,二)
mArrayNameOriginal =(一,二,三)
现在我想比较这两个数组,找出哪些条目相等,并将其与一个新的数组相关联,该数组中包含rowId数。
防爆。
输入:
mArrayId =(001,002,003)
输出:
mArrayIdNewOrder =(003,001,002)
那么我将使用mArrayIdNewOrder id匹配mArrayName中的正确名称。
就像我说这些方法有效,但有更快/更好的方法吗?我试过看Arrays.sort和比较器,但它们似乎只按字母顺序或数字顺序排序。我看到类比我可以在比较器中创建自己的规则,但它可能最终会与我已有的相似。
抱歉这个令人困惑的问题。如果需要,我会尽力消除任何含糊之处。
没有找到相关结果
已邀请:
3 个回复
嗜蒂谷尘旱
膛嵌墒缅欠
容淑阔九