這樣使用。這裏是代碼的在線編譯。看一看http://ideone.com/MJJwtc
public static void swap(List list,
int i,
int j)
將元素交換到指定列表中的指定位置。 (如果指定的位置相同,則調用此方法將使列表保持不變。)
參數: list - 交換元素的列表。 i - 要交換的一個元素的索引。 j - 要交換的其他元素的索引。
閱讀收集的官方文檔
http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#swap%28java.util.List,%20int,%20int%29
import java.util.*;
import java.lang.*;
class Main {
public static void main(String[] args) throws java.lang.Exception
{
//create an ArrayList object
ArrayList words = new ArrayList();
//Add elements to Arraylist
words.add("A");
words.add("B");
words.add("C");
words.add("D");
words.add("E");
System.out.println("Before swaping, ArrayList contains : " + words);
/*
To swap elements of Java ArrayList use,
static void swap(List list, int firstElement, int secondElement)
method of Collections class. Where firstElement is the index of first
element to be swapped and secondElement is the index of the second element
to be swapped.
If the specified positions are equal, list remains unchanged.
Please note that, this method can throw IndexOutOfBoundsException if
any of the index values is not in range. */
Collections.swap(words, 0, words.size() - 1);
System.out.println("After swaping, ArrayList contains : " + words);
}
}
ONELINE編譯例如http://ideone.com/MJJwtc
這個問題實際上是「我如何訪問和修改'List'的元素」? – Raedwald
這是比標記爲重複的問題更有針對性的問題。 – TheCrazyProgrammer
我同意。變換數組列表是不同的事情,交換2個節點是不同的事情。 「Collections.swap」是正確的答案,但這個答案無法通過重複標記的答案到達; 「如何更改Java中的ArrayList元素的值」。重複問題應該被修改,或重複標記應該被刪除。 – Berk