I want to print the instance variables of the objects I stored in my TreeSet.
So given an Object with three instance variables, I want to iterate over the Objects in my TreeSet and print their ivars but:
while ( iter.hasNext() )
{
  System.out.println( iter.next().getIvar1 );
  System.out.println( iter.next().getIvar2 );
}
gets me the ivar1 of the first object and the ivar2 of the second object. And with all my searching I found no way of printing all the ivars of one object before moving the iterator to the next object like:
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() );
  ....
}
Any ideas on how to implement that?
Thanks in advance! =)
Use an enhanced for loop:
for (Element element : set) {
    System.out.println(element.getIvar1());
    System.out.println(element.getIvar2());
}
Internally, it's just an iterator - but it saves you the trouble of manually calling next() and hasNext().
Don't keep calling iter.next() inside the loop. Only call it once. Every time you call Iterator.next(), it advances the iterator to the next element in the iteration.
while ( iter.hasNext() )
{
    Foo element = iter.next();
  System.out.println( element.getIvar1 );
  System.out.println( element.getIvar2 );
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With