我有一个arraylist。例如 A = [1,2,3,4,5,6,7,8];
我需要改变arraylist的顺序才能得到
A = [2,1,4,3,6,5,8,7]。这意味着奇数位置项将位于偶数位置,反之亦然。
由于
答案 0 :(得分:3)
假设
的简单方法A.size()
A.get(index)
和A.set(index, value)
是成对交换价值 - 如下:
for (int index = 1; index < A.size(); index += 2) { // Swap on even indices.
// Swap values at positions index-1 and index.
Object temp = A.get(index-1); // Save value before overwrite.
A.set(index-1, A.get(index)); // First half of swap.
A.set(index, temp); // Final operation for swap.
}
修改:将int
更改为Object
,并根据评论建议使用A.size
,A.get
和A.set
代替[]索引器。
答案 1 :(得分:0)
您可以通过以下方式完成此操作:
int a[] = {1,2,3,4,5,6,7,8};
System.out.println("A=["+a[0]+","+a[1]+","+a[2]+","+a[3]+","+a[4]+","+a[5]+","+a[6]+","+a[7]+"]");
for (int i = 0; i < a.length/2; i++) {
int help;
help = a[i*2];
a[i*2]=a[i*2+1];
a[i*2+1] = help;
}
System.out.println("A=["+a[0]+","+a[1]+","+a[2]+","+a[3]+","+a[4]+","+a[5]+","+a[6]+","+a[7]+"]");
询问您是否对代码有疑问。
编辑:我错过了arraylist,但原则是一样的。