-1

次のコードサンプルがあります。最初のブロックをmain()に配置する必要があると確信していますが、このIteratorの例を機能させるには、2番目のブロックをどこに配置すればよいですか?

List<String> myList= new ArrayList<String> ( );

これはどこに置きますか?2番目のクラスを作成する必要がありますか?

static void printAll(ArrayList myList)
{
    Iterator it = myList.iterator();
}

次に、この典型的なイテレータパターンがあります....これは2番目のコードブロックに何らかの形で関連していますか?

static void printAll(ArrayList myList)
{
    Iterator it = myList.iterator();
    Object temp;
    while( it.hasNext() )
    {
        temp = it.next();
        System.out.println( temp );
    }
    return;
}
4

3 に答える 3

1

ArrayList(メインのローカル変数) をメソッドに渡す方法を尋ねている場合は、printAll以下のようにしてください。

public class XYZ {
  static void printAll(ArrayList myList)
  {
    Iterator it = myList.iterator();
    Object temp;
    while(it.hasNext() )
    {
      temp = it.next();
      System.out.println( temp );
    }
    return;
  }

  public static void main(String...args){

    List<String> myList= new ArrayList<String> ( );
    myList.add("Hello");
    myList.add("World");
    printAll(myList);//passing myList to printAll
  }
}
于 2012-10-31T19:37:44.623 に答える
0

インターレーターを使用しようとしている理由はありますか?

Java 5を使用していると仮定すると、このようなことができます。

List<String> myList= new ArrayList<String> ( );
// set up list... etc.

for(String currentString : myList) {
 System.out.println(currentString);
}
于 2012-10-31T19:51:00.873 に答える
0

Iterator.remove()イテレータは、(メソッドを使用して) トラバース中にコレクションの一部の要素を削除する必要がある場合にのみ役立ちます。それ以外の場合は、for-each ループを使用してください。

于 2012-10-31T19:57:53.570 に答える