2016-12-11 11 views
-3

これをArrayDequeに変更する方法。私はそれをしようとしたが、それは私にIteratorエラーを与える。手伝ってくれてありがとう。ArrayDequeのイテレータ

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

あなたが達成するために何をしようとしているのですか? – Shay

+0

add oddDelqueにArrayDequeを追加します。文字列 "b" – user5631123

答えて

0

この次のコードは、ArrayDequeの要素を反復処理するのに役立ちます:

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

      } 
    } 
} 
+0

はループ内にある必要があります – user5631123

-1

代わりのListIteratorとだけ、より一般的な目的を使用し、Listインタフェースの実装のために働くlistIterator方法を使用してiteratorこのメソッドは、を含むCollectionインターフェイスのすべての実装に存在するIterator<E>を返します。

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++ 
    } 
} 
+0

エラー:メソッドiterator のadd(string)メソッドが誤っています – user5631123

-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++ 
    } 
} 
関連する問題