2011-11-07 2 views
3

Iterator을 사용하는 동안 요소를 추가하는 데 문제가있었습니다. ArrayList입니다. 다음 코드에서는이 출력을 내게 제공합니다 :Java에서 Iterator를 사용하는 동안 ArrayList에 요소 추가

그러나 여전히 iterator를 통해 추가 한 코드가 누락됩니다. 즉, 출력물에 r이 누락되었습니다. Iterator을 사용하여 ArrayList에 요소를 추가 할 수있는 방법이 있습니까?

import java.util.ArrayList; 
import java.util.ListIterator; 
public class Test 
{ 
public static void main(String args[]) 
{ 
    ArrayList<String> array_test= new ArrayList<String>(); 
    array_test.add("a"); 
    array_test.add("k"); 
    array_test.add("d"); 
    array_test.add("s"); 
    array_test.remove("d"); 
    ListIterator<String> it=array_test.listIterator(); 
    while(it.hasNext()) 
    { 
     String link=it.next(); 
     it.add("r"); 
     System.out.println(link); 

    } 
    //System.out.println("Contents of arrays list "+array_test); 
} 


} 
+0

출력 결과는 무엇입니까? – nyxz

답변

1

죄송합니다. 다음은이 문제를 어떻게 해결 한 것입니다.

for(ListIterator it=array_test.listIterator();it.hasNext();){ 
String link=it.next(); 
    it.add("r"); 
    it.previous(); 
    it.add("kk"); 
    it.previous(); 
System.out.println(link); 
} 
2

Javadoc을 확인하십시오. 문서화 된대로 작업하고 있습니다. 반복하는 동안 요소를 추가해도 뒤로 이동하지 않으면 해당 요소가 반복기를 통해 반환되지 않습니다.

+0

재생 해 주셔서 감사합니다. 반복기를 사용하여 새로운 요소를 추가 할 수 없습니다. 내가 지정한대로, 나는 while 루프에서 r을 추가하려고했다. 어떤 것도 작동하지 않습니다. – prashanth

+2

-1 : 관련 부분에 대해서는 설명서에서 인용해야합니다. –

+0

작동 중입니다. 주석 처리 한 두 번째 print 문에는 네 개의 문자가 모두 포함되어야합니다. – jbrookover

관련 문제