簡體   English   中英

如何使用reverse方法反轉ArrayList的所有元素?

[英]How to reverse the all element of ArrayList using reverse method?

我必須制作一個可以反轉ArrayList的所有元素的方法...例如,如果我的列表具有<12 1 34 56 43>元素。 那么它應該反轉整個列表。 <43 56 34 1 12>。 我已經嘗試過這種方法,但是它不起作用。 這是方法

public void reverse() { 
int size=0;     
for (int i = 0, j = size - 1; i < size && j >= 0; i++, j--)     
{         
int temp = j;         
j = i;         
i = temp;         
}          
}

當我將此方法稱為list.revese()時。 它不會反轉列表。 誰能幫幫我!!!

您的代碼處理索引,但不處理索引的實際元素。 另請注意,如果j <i,則執行兩次反轉,因此將沒有任何效果。

public void reverse(List<Integer> list) { 
  int size=list.size();     
  for (int i = 0, j = size - 1; i < size && j >= 0 && i <= j; /** i must be smaller. */ i++, j--)     
  {         
    int temp = list.get(j);         
    list.set(j, list.get(i));         
    list.set(i,temp);         
  }          
}

使用ArrayList對象,然后在構建數組之后,可以運行以下命令來反轉內容:

Collections.reverse(your ArrayList Here);

將“ size”變量初始化為ArrayList的長度。 您正在將其初始化為0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM