在Java中如何运用两个指针来交换list中的元素,输入123,输出321
时间: 2024-09-20 20:06:19 浏览: 36
在Java中,如果你想使用两个指针(通常是`Iterator`)来交换列表(List)中的元素,通常我们不需要直接修改元素本身,而是创建一个新的List来存储结果。假设我们有一个整数列表`List<Integer>`,可以这样做:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
// 使用两个指针i和j,分别从头和尾开始
int i = 0, j = list.size() - 1;
Collections.swap(list, i, j); // 或者直接用Collections.reverse(list)达到交换的效果
// 输出交换后的列表
for (int num : list) {
System.out.print(num);
}
}
}
```
在这个例子中,`Collections.swap()`函数会交换索引为i和j的元素位置。如果你不想依赖特定库方法,也可以先将最后一个元素移到中间,然后将第一个元素移到最后,如下所示:
```java
Integer first = list.get(i);
list.set(i, list.get(j));
list.set(j, first);
```
这会完成交换过程。运行上述代码,输出将是"321"。
阅读全文