-1

我有以下代码示例,我很确定第一个块应该放在 main() 中,但是我应该在哪里放置第二个块以使这个迭代器示例工作?

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

我在哪里放置这个?我需要创建第二个班级吗?

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

然后是这个典型的迭代器模式……这与第二个代码块有什么关系吗?

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(main 中的局部变量)传递给该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 回答