Class UnmodifiableCollectionSizedIterator<M>

  • Type Parameters:
    M - is the type of element.
    All Implemented Interfaces:
    Iterator<M>, SizedIterator<M>

    public class UnmodifiableCollectionSizedIterator<M>
    extends Object
    implements SizedIterator<M>
    Sized iterator on a collection that cannot be changed through the iterator.

    A sized iterator is an Iterator that is able to reply the size of the iterated collection and the number of elements that may be encountered in the next iterations.

    This iterator disables the use of the function Iterator.remove(). See ModifiableCollectionSizedIterator for an sized iterator that enables this function.

    Version:
    17.0 2020-01-04 14:41:38
    Author:
    Stéphane GALLAND
    See Also:
    ModifiableCollectionSizedIterator
    Maven Group Id:
    org.arakhne.afc.core
    Maven Artifact Id:
    util
    • Constructor Detail

      • UnmodifiableCollectionSizedIterator

        public UnmodifiableCollectionSizedIterator​(Collection<M> collection)
        Construct an iterator.
        Parameters:
        collection - the collection to iterate on.
    • Method Detail

      • rest

        @Pure
        public int rest()
        Description copied from interface: SizedIterator
        Replies the count of elements which are not replied by the iterator.
        Specified by:
        rest in interface SizedIterator<M>
        Returns:
        the count of elements which are not replied by the iterator.
      • index

        @Pure
        public int index()
        Description copied from interface: SizedIterator
        Replies the position of the last replied element in the iterated collection.
        Specified by:
        index in interface SizedIterator<M>
        Returns:
        the index of the last element replied by next().
      • totalSize

        @Pure
        public int totalSize()
        Description copied from interface: SizedIterator
        Replies the count of elements in the iterated collection.
        Specified by:
        totalSize in interface SizedIterator<M>
        Returns:
        the count of elements in the iterated collection.
      • hasNext

        @Pure
        public boolean hasNext()
        Specified by:
        hasNext in interface Iterator<M>
      • next

        public M next()
        Specified by:
        next in interface Iterator<M>