gnu.java.security.util

Class Sequence

Implemented Interfaces:
Collection<E>, Iterable<E>, List<E>

public final class Sequence
extends AbstractList<E>

A monotonic sequence of integers in the finite field 232.

Field Summary

Fields inherited from class java.util.AbstractList<E>

modCount

Constructor Summary

Sequence(int end)
Create a sequence of integers from 0 to end, with an increment of 1.
Sequence(int start, int end)
Create a sequence of integers from start to end, with an increment of 1.
Sequence(int start, int end, int span)
Create a sequence of integers from start to end, with an increment of span.

Method Summary

Object
get(int index)
int
size()
Get the number of elements in this collection.
Object[]
toArray()
Copy the current contents of this collection into an array.

Methods inherited from class java.util.AbstractList<E>

add, add, addAll, clear, equals, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList

Methods inherited from class java.util.AbstractCollection<E>

T[] toArray, add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

Sequence

public Sequence(int end)
Create a sequence of integers from 0 to end, with an increment of 1. If end is less than 0, then the sequence will wrap around through all positive integers then negative integers until the end value is reached. Naturally, this will result in an enormous object, so don't do this.
Parameters:
end - The ending value.

Sequence

public Sequence(int start,
                int end)
Create a sequence of integers from start to end, with an increment of 1. If end is less than start, then the sequence will wrap around until the end value is reached. Naturally, this will result in an enormous object, so don't do this.
Parameters:
start - The starting value.
end - The ending value.

Sequence

public Sequence(int start,
                int end,
                int span)
Create a sequence of integers from start to end, with an increment of span. If end is less than start, then the sequence will wrap around until the end value is reached. Naturally, this will result in an enormous object, so don't do this.

span can be negative, resulting in a decresing sequence.

If span is 0, then the sequence will contain {start, end} if start != end, or just the singleton start if start == end.

Parameters:
start - The starting value.
end - The ending value.
span - The increment value.

Method Details

get

public Object get(int index)
Specified by:
get in interface List<E>
Overrides:
get in interface AbstractList<E>

size

public int size()
Get the number of elements in this collection.
Specified by:
size in interface List<E>
size in interface Collection<E>
Overrides:
size in interface AbstractCollection<E>
Returns:
the number of elements in the collection.

toArray

public Object[] toArray()
Copy the current contents of this collection into an array.
Specified by:
toArray in interface List<E>
toArray in interface Collection<E>
Overrides:
toArray in interface AbstractCollection<E>
Returns:
an array of type Object[] and length equal to the size of this collection, containing the elements currently in this collection, in any order.

Sequence.java -- a sequence of integers. Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.