开发一个方法来交换具有指定有效索引I和j的两个元素:
public void swap(int I, int j);
这是我必须用来交换数组列表中两个元素的方法。 原始列表是:[a ==> b ==> c ==> d ............]调用swap(0,2)后:[c ==> b ==> a ==> d ............] 这是打印输出的内容。
---------头等-----
package it179.pa2;
import java.util.*;
public class MyArrayList {
private String list;
MyArrayList(String list) {
this.list = list;
}
MyArrayList() {
}
public void swap(int i, int j) {
int temp1;
temp1 = i;
i = j;
j = temp1;
}
@Override
public String toString() {
return list + "==>";
}
}
-----第二类-----
package it179.pa2;
import java.util.*;
public class MyArrayListTest {
public static final void main (String[]args) {
MyArrayList my = new MyArrayList();
ArrayList<MyArrayList> al = new ArrayList<MyArrayList>();
al.add(new MyArrayList("A"));
al.add(new MyArrayList("B"));
al.add(new MyArrayList("C"));
al.add(new MyArrayList("D"));
al.add(new MyArrayList("E"));
al.add(new MyArrayList("F"));
System.out.print("The original list is: ");
for (MyArrayList tmp: al) {
System.out.print(tmp);
}// end of for
System.out.println("After calling swap(0,2): ");
System.out.print(al);
}
}
答案 0 :(得分:2)
对于 List 中的交换元素,您可以使用 swap()
的 java.util.Collections
方法
Collections.swap(list, element1, element2)
答案 1 :(得分:0)
这是静态方法:
public static <E> void swap(List<E> list, int i, int j) {
E e = list.get(i);
list.set(i, list.get(j));
list.set(j, e);
}
见this question。要使用类来执行此操作,逻辑将是相同的,但方法签名将改为public void swap(int i, int j)
。
答案 2 :(得分:0)
我们可以使用 set() 方法交换 ArrayList 元素。collections 也提供了交换 collections 的方法.swap() 但在这个例子中,我们将编写自己的方法来替换 ArrayList 中的元素。
public static swapList(List<String> arr , int i , int j){
//assign element from position i to temporary variable
String element = arr.get(i);
//replace element on position i from position j
arr.set(i, arr.get(j));
//replace element on postion j from temporary variable
arr.set(j, element);
}
我们也可以使用 collections.swap() 方法来达到同样的目的。