如何在Java中更改arraylist中项目的顺序

时间:2014-02-13 17:47:34

标签: java arraylist

我有一个arraylist。例如 A = [1,2,3,4,5,6,7,8];

我需要改变arraylist的顺序才能得到

A = [2,1,4,3,6,5,8,7]。这意味着奇数位置项将位于偶数位置,反之亦然。

由于

2 个答案:

答案 0 :(得分:3)

假设

的简单方法
  1. A的长度为A.size()
  2. 可以通过A.get(index)A.set(index, value)
  3. 访问数组A.
  4. 如果您的数组不均匀,则最后一个元素保持原样
  5. 是成对交换价值 - 如下:

    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.sizeA.getA.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,但原则是一样的。