Java 如何从树集打印对象

Java 如何从树集打印对象,java,iterator,treeset,Java,Iterator,Treeset,我想打印存储在树集中的对象的实例变量 因此,给定一个具有三个实例变量的对象,我想迭代树集中的对象并打印它们的IVAR,但是: while ( iter.hasNext() ) { System.out.println( iter.next().getIvar1 ); System.out.println( iter.next().getIvar2 ); } 获取第一个对象的ivar1和第二个对象的ivar2。 通过搜索,我发现在将迭代器移动到下一个对象之前,无法打印一个对象的所有IVA

我想打印存储在树集中的对象的实例变量

因此,给定一个具有三个实例变量的对象,我想迭代树集中的对象并打印它们的IVAR,但是:

while ( iter.hasNext() )
{
  System.out.println( iter.next().getIvar1 );
  System.out.println( iter.next().getIvar2 );
}
获取第一个对象的ivar1和第二个对象的ivar2。 通过搜索,我发现在将迭代器移动到下一个对象之前,无法打印一个对象的所有IVAR,如:

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() );
  ....
}
有没有关于如何实施的想法


提前感谢!=)

不要在循环中不断调用
iter.next()
。只打一次电话。每次调用时,它都会将迭代器前进到迭代中的下一个元素

while ( iter.hasNext() )
{
    Foo element = iter.next();
  System.out.println( element.getIvar1 );
  System.out.println( element.getIvar2 );
}
使用一个:

在内部,它只是一个迭代器,但它省去了手动调用
next()
hasNext()
的麻烦

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