2012-10-31 2 views
-1

다음 코드 샘플이 있습니다. 첫 번째 블록은 main()에 배치해야합니다.하지만이 반복기 예제가 작동하도록 두 번째 블록을 배치 할 위치는 어디입니까?Java에서 실행되는 Iterator를 얻으려면

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

미안하지만이 질문은 실제로 의미가없는 것처럼 보입니다. 시작하려면 [this] (http://docs.oracle.com/javase/tutorial/)를 시도하십시오. – biziclop

답변

1

당신이 printAll 방법에 ArrayList (주에서 지역 변수)을 전달하는 방법을 요구하는 경우는 다음과 같은 일을 할, 당신은 무엇을 달성하고자하는 분명하지 않다 :

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

'printAll' 메쏘드에서'return;'은 필요 없지만 아무것도 해치지 않습니다. –

+0

죄송합니다. 어떻게 든 읽는 동안 그것을 보지 못했습니다. 나는 지금 나 자신을 볼 것이다. –

+0

@jschoen thats alright .. :) – PermGenError

0

당신이 중개자를 사용하려고하는 이유가 있습니까?

Java 5이라고 가정하면 다음과 같이 할 수 있습니다. 당신이합니다 (Iterator.remove() 방법을 사용하여)을 통과하는 동안 컬렉션의 일부 요소를 제거해야하는 경우

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

for(String currentString : myList) { 
System.out.println(currentString); 
} 
0

반복자에만 유용합니다. 그렇지 않으면 for-each 루프 만 사용하십시오.

관련 문제