如何将其更改为ArrayDeque。我试着这样做,但它给了我一个Iterator错误。谢谢你的帮助。
void insert(List<String> l) {
ListIterator<String> iter = l.listIterator();
int i = 0;
while (iter.hasNext()) {
iter.next();
if (i % 2 != 0)
iter.add("b");
i++;
}
}
答案 0 :(得分:0)
以下代码将帮助您遍历ArrayDeque Elements:
import java.util.*;
public class Test {
public static void main(String args[]) {
ArrayDeque<String> queue = new ArrayDeque<String>();
queue.add("A");
queue.add("B");
queue.add("C");
queue.add("D");
Iterator itr = queue.iterator();
System.out.println("The Deque elements Iterate trough iterator : ");
while (itr.hasNext()) {
System.out.println(itr.next());
}
}
}
答案 1 :(得分:-1)
使用更通用的ListIterator
方法,而不是使用listIterator
和List
方法,它只适用于iterator
接口的实现,而不是Iterator<E>
方法。存在于Collection
接口的所有实现,包括ArrayDeque
。
void insert(ArrayDeque<String> deque) {
Iterator<String> iter = deque.iterator();
int i = 0;
while (iter.hasNext() {
iter.next();
if (i % 2 != 0) deque.add("b");
i++
}
}
答案 2 :(得分:-1)
这只是@Shadowfacts的更新版本
void insert(ArrayDeque<String> deque) {
Iterator<String> iter = deque.iterator();
int i = 0;
while (iter.hasNext() {
iter.next();
if (i % 2 != 0) deque.add("b");
i++
}
}