2012-05-13 7 views
4

TreeSet에 저장된 개체의 인스턴스 변수를 인쇄하려고합니다.TreeSet에서 개체를 인쇄하는 방법

그래서 세 개의 인스턴스 변수와 객체 주어, 나는 나의 TreeSet의의 객체를 반복하고 자신의 인스턴스 변수를 인쇄하고 싶지만 :

while (iter.hasNext()) 
{ 
    System.out.println(iter.next().getIvar1); 
    System.out.println(iter.next().getIvar2); 
} 

나에게 첫 번째 개체의 ivar1 두 번째의 ivar2를 가져옵니다 목적. 그리고 내 모든 검색과 내가 좋아하는 다음 객체에 반복자를 이동하기 전에 한 개체의 모든 인스턴스 변수를 인쇄 할 수있는 방법을 찾을 수 없습니다 : 그런를 구현하는 방법에 대한

while (iter.hasNext()) 
{ 
    System.out.println(iter.hasNext().getIvar1()); 
    System.out.println(iter.getIvar2); 
    System.out.println(iter.getIvar3); 
    System.out.println(iter.hasNext().getIvar1()); 
    .... 
} 

어떤 아이디어?

미리 감사드립니다. =)

답변

5

사용 enhanced for loop는 :

for (Element element : set) { 
    System.out.println(element.getIvar1()); 
    System.out.println(element.getIvar2()); 
} 

내부적으로, 그냥 반복자 -하지만 그것은 당신에게 수동으로 next()hasNext()를 호출의 문제를 저장합니다.

1

루프 내부에 iter.next()을 계속 호출하지 마십시오. 한 번만 부르십시오. Iterator.next()에 전화 할 때마다 반복기의 다음 요소로 반복기가 진행됩니다.

while (iter.hasNext()) 
{ 
    Foo element = iter.next(); 
    System.out.println(element.getIvar1); 
    System.out.println(element.getIvar2); 
}