Java ArrayDeque中的迭代器

Java ArrayDeque中的迭代器,java,arraydeque,Java,Arraydeque,如何将其更改为ArrayDesk。我试图这样做,但它给了我一个迭代器错误。谢谢你的帮助 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")

如何将其更改为ArrayDesk。我试图这样做,但它给了我一个迭代器错误。谢谢你的帮助

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++;
    }
} 
无效插入(列表l){
ListIterator iter=l.ListIterator();
int i=0;
while(iter.hasNext()){
iter.next();
如果(i%2!=0)
国际热核实验堆(iter.add)(“b”);
i++;
}
} 

以下代码将帮助您迭代ArrayDesign元素:

 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());

            }
    }
}
import java.util.*;
公开课考试{
公共静态void main(字符串参数[]){
ArrayDeque队列=新的ArrayDeque();
队列。添加(“A”);
添加(“B”);
添加(“C”);
添加(“D”);
迭代器itr=queue.Iterator();
println(“Deque元素通过迭代器进行迭代:”;
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}

不要使用
列表迭代器
和只适用于
列表
接口实现的
列表迭代器
方法,而是使用更通用的
迭代器
方法,该方法返回一个
迭代器
,该迭代器存在于
集合
接口的所有实现中,包括
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++
    }
}
void插入(ArrayDeque-deque){
迭代器iter=deque.Iterator();
int i=0;
while(iter.hasNext(){
iter.next();
如果(i%2!=0)添加(“b”);
我++
}
}

这只是@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++
   }
}
void插入(ArrayDeque-deque){
迭代器iter=deque.Iterator();
int i=0;
while(iter.hasNext(){
iter.next();
如果(i%2!=0)添加(“b”);
我++
}
}

您试图实现什么?将循环的do ARRAYDEFUE添加到奇数位置字符串“b”必须在loopError中:方法add(string)是为类型迭代器定义的