Alex J. G. Burzyński > Data-ArrayList-0.01 > Data::ArrayList::ListIterator

Download:
Data-ArrayList-0.01.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.01   Source  

NAME ^

Data::ArrayList::ListIterator - iterator for Data::ArrayList

VERSION ^

version 0.01

SYNOPSIS ^

    use Data::ArrayList;

    my $dal = Data::ArrayList->new();

    $dal->addAll( 1 .. 100 );

    my $iter = $dal->listIterator();

    while ( $iter->hasNext ) {
        my $idx = $iter->nextIndex;
        my $elem = $iter->next;

        $iter->add( "$elem from $idx again" );
    }

    while ( $iter->hasPrevious ) {
        my $idx = $iter->previousIndex;

        my $elem = $iter->previous;

        $iter->remove if $elem =~ / again$/;
    }

DESCRIPTION ^

Data::ArrayList::ListIterator provides iterator for Data::ArrayList.

METHODS ^

hasNext

    while ( $it->hasNext() ) {
        say $it->next;
    }

Returns true if this list iterator has more elements when traversing the list in the forward direction.

hasPrevious

    while ( $it->hasPrevious() ) {
        say $it->previous;
    }

Returns true if this list iterator has more elements when traversing the list in the reverse direction.

nextIndex

    while ( $it->hasNext() ) {
        my $index = $it->nextIndex();

        $dal->get($index) == $it->next;
    }

Returns the index of the element that would be returned by a subsequent call to "next".

Returns list size if the list iterator is at the end of the list.

previousIndex

    while ( $it->hasPrevious() ) {
        my $index = $it->previousIndex();

        $dal->get($index) == $it->previous;
    }

Returns the index of the element that would be returned by a subsequent call to "previous".

Returns -1 if the list iterator is at the beginning of the list.

next

    while ( $it->hasNext() ) {
        say $it->next;
    }

Returns the next element in the list. This method may be called repeatedly to iterate through the list, or intermixed with calls to "previous" to go back and forth.

Note: alternating calls to "next" and "previous" will return the same element repeatedly.

previous

    while ( $it->hasPrevious() ) {
        say $it->previous;
    }

Returns the previous element in the list. This method may be called repeatedly to iterate through the list, or intermixed with calls to "next" to go back and forth.

Note: alternating calls to "next" and "previous" will return the same element repeatedly.

remove

    while ( $it->hasNext() ) {
        say $it->next;

        $it->remove;
    }

Removes from the list the last element that was returned by "next" or "previous".

This call can only be made once per call to "next" or "previous". It can be made only if "add" has not been called after the last call to "next" or "previous".

set

    while ( $it->hasNext() ) {
        $it->set( encrypt($it->next) );
    }

Replaces the last element returned by "next" or "previous" with the specified element.

This call can be made only if neither "remove" nor "add" have been called after the last call to "next" or "previous".

add

    while ( $it->hasNext() ) {
        $it->add( $it->next ); # duplicate all elements
    }

Inserts the specified element into the list. The element is inserted immediately before the next element that would be returned by "next", if any, and after the next element that would be returned by "previous", if any.

If the list contains no elements, the new element becomes the sole element on the list.

The new element is inserted before the implicit cursor: a subsequent call to "next" would be unaffected, and a subsequent call to "previous" would return the new element.

This call increases by one the value that would be returned by a call to "nextIndex" or "previousIndex".

SEE ALSO ^

AUTHOR ^

Alex J. G. Burzyński <ajgb@cpan.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2010 by Alex J. G. Burzyński <ajgb@cpan.org>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: