1) They act as arrays--if you want the 18th element in the iterator, access it directly
2) They have 'next', 'previous', 'first', 'last', and 'reset' methods to get the next, previous, first, or last element in the iterator, or to reset the iterator to the beginning. Next, last, and reset change the internal current element pointer, first and last don't.
Sane? The only downside I can see is one of speed, since method calls are a bit costly.
--
Dan
--------------------------------------it's like this------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk