如何在不使用任何内置函数的情况下交换arraylist元素?



有人能帮我解决这个问题吗?我想交换ArrayList的两个元素,我不想让库中的函数为我做这件事。

ArrayList<Integer> al=new ArrayList<>();
al.add(45);
al.add(54);
al.add(67);
al.add(90);
//on swapping first and second index element
int temp=al.get(1);
al.get(1)=al.get(2);
al.get(2)=temp;

我无法执行交换。以上代码无法编译。

仅使用al.set(n, newValue)设置newValue为索引为n的ArrayList。请注意第一个索引标记为0,第二个索引标记为1

ArrayList<Integer> al = new ArrayList<>();
al.add(45);
al.add(54);
al.add(67);
al.add(90);
System.out.println(al);
//on swapping first and second index element
int temp = al.get(0);
al.set(0, al.get(1));
al.set(1, temp);
System.out.println(al);

输出:

[45, 54, 67, 90]
[54, 45, 67, 90]