在Java中,可以使用双向链表的Iterator
来遍历链表。具体步骤如下:
list.iterator()
方法获取链表的Iterator
对象。Iterator
对象的hasNext()
方法检查是否还有下一个元素。Iterator
对象的next()
方法获取下一个元素。Iterator
对象的remove()
方法删除当前元素。下面是一个示例代码:
import java.util.LinkedList;
import java.util.ListIterator;
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
ListIterator<String> iterator = list.listIterator();
System.out.println("从前向后遍历:");
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
System.out.println("\n从后向前遍历:");
while (iterator.hasPrevious()) {
String element = iterator.previous();
System.out.println(element);
}
}
}
输出结果为:
从前向后遍历:
A
B
C
从后向前遍历:
C
B
A
注意,在从后向前遍历时,需要先从前向后遍历完整个链表,然后再反向遍历。