如何从TreeSet中打印对象

kwo*_*ber 5 java iterator treeset

我想打印我存储在TreeSet中的对象的实例变量.

所以给定一个带有三个实例变量的Object,我想迭代我的TreeSet中的Objects并打印他们的ivars但是:

while ( iter.hasNext() )
{
  System.out.println( iter.next().getIvar1 );
  System.out.println( iter.next().getIvar2 );
}
Run Code Online (Sandbox Code Playgroud)

得到第一个对象的ivar1和第二个对象的ivar2.在我的所有搜索中,我发现在将迭代器移动到下一个对象之前,无法打印一个对象的所有ivars,如:

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() );
  ....
}
Run Code Online (Sandbox Code Playgroud)

关于如何实现的任何想法?

提前致谢!=)

Ósc*_*pez 6

使用增强的for循环:

for (Element element : set) {
    System.out.println(element.getIvar1());
    System.out.println(element.getIvar2());
}
Run Code Online (Sandbox Code Playgroud)

在内部,它只是一个迭代器-但它可以节省您的手动调用的麻烦next()hasNext().