it.unimi.dsi.fastutil.longs
Interface LongList

All Superinterfaces:
java.util.Collection<java.lang.Long>, java.lang.Comparable<java.util.List<? extends java.lang.Long>>, java.lang.Iterable<java.lang.Long>, java.util.List<java.lang.Long>, LongCollection, LongIterable
All Known Implementing Classes:
AbstractLongList, AbstractLongList.LongSubList, LongArrayList, LongLists.EmptyList, LongLists.Singleton, LongLists.SynchronizedList, LongLists.UnmodifiableList

public interface LongList
extends java.util.List<java.lang.Long>, java.lang.Comparable<java.util.List<? extends java.lang.Long>>, LongCollection

A type-specific List; provides some additional methods that use polymorphism to avoid (un)boxing.

Note that this type-specific interface extends Comparable: it is expected that implementing classes perform a lexicographical comparison using the standard operator "less then" for primitive types, and the usual compareTo() method for objects.

Additionally, this interface strengthens listIterator(), listIterator(int) and subList(int,int).

Besides polymorphic methods, this interfaces specifies methods to copy into an array or remove contiguous sublists. Although the abstract implementation of this interface provides simple, one-by-one implementations of these methods, it is expected that concrete implementation override them with optimized versions.

See Also:
List

Method Summary
 void add(int index, long key)
           
 boolean add(long key)
           
 boolean addAll(int index, LongCollection c)
           
 boolean addAll(int index, LongList c)
           
 boolean addAll(LongList c)
           
 void addElements(int index, long[] a)
          Add (hopefully quickly) elements to this type-specific list.
 void addElements(int index, long[] a, int offset, int length)
          Add (hopefully quickly) elements to this type-specific list.
 void getElements(int from, long[] a, int offset, int length)
          Copies (hopefully quickly) elements of this type-specific list into the given array.
 long getLong(int index)
           
 int indexOf(long k)
           
 LongListIterator iterator()
          Returns a type-specific iterator on the elements of this list (in proper sequence).
 int lastIndexOf(long k)
           
 LongListIterator listIterator()
          Returns a type-specific list iterator on the list.
 LongListIterator listIterator(int index)
          Returns a type-specific list iterator on the list starting at a given index.
 LongListIterator longListIterator()
          Deprecated. As of fastutil 5, replaced by listIterator().
 LongListIterator longListIterator(int index)
          Deprecated. As of fastutil 5, replaced by listIterator(int).
 LongList longSubList(int from, int to)
          Deprecated. As of fastutil 5, replaced by subList(int,int).
 void removeElements(int from, int to)
          Removes (hopefully quickly) elements of this type-specific list.
 long removeLong(int index)
           
 long set(int index, long k)
           
 void size(int size)
          Sets the size of this list.
 LongList subList(int from, int to)
          Returns a type-specific view of the portion of this list from the index from, inclusive, to the index to, exclusive.
 
Methods inherited from interface java.util.List
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, lastIndexOf, remove, remove, removeAll, retainAll, set, size, toArray, toArray
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongCollection
addAll, contains, containsAll, longIterator, rem, removeAll, retainAll, toArray, toArray, toLongArray, toLongArray
 

Method Detail

iterator

LongListIterator iterator()
Returns a type-specific iterator on the elements of this list (in proper sequence). Note that this specification strengthens the one given in List.iterator(). It would not be normally necessary, but Iterable.iterator() is bizarrily re-specified in List.

Specified by:
iterator in interface java.util.Collection<java.lang.Long>
Specified by:
iterator in interface java.lang.Iterable<java.lang.Long>
Specified by:
iterator in interface java.util.List<java.lang.Long>
Specified by:
iterator in interface LongCollection
Specified by:
iterator in interface LongIterable
Returns:
an iterator on the elements of this list (in proper sequence).

longListIterator

@Deprecated
LongListIterator longListIterator()
Deprecated. As of fastutil 5, replaced by listIterator().

Returns a type-specific list iterator on the list.

See Also:
listIterator()

longListIterator

@Deprecated
LongListIterator longListIterator(int index)
Deprecated. As of fastutil 5, replaced by listIterator(int).

Returns a type-specific list iterator on the list starting at a given index.

See Also:
listIterator(int)

listIterator

LongListIterator listIterator()
Returns a type-specific list iterator on the list.

Specified by:
listIterator in interface java.util.List<java.lang.Long>
See Also:
List.listIterator()

listIterator

LongListIterator listIterator(int index)
Returns a type-specific list iterator on the list starting at a given index.

Specified by:
listIterator in interface java.util.List<java.lang.Long>
See Also:
List.listIterator(int)

longSubList

@Deprecated
LongList longSubList(int from,
                                int to)
Deprecated. As of fastutil 5, replaced by subList(int,int).

Returns a type-specific view of the portion of this list from the index from, inclusive, to the index to, exclusive.

See Also:
List.subList(int,int)

subList

LongList subList(int from,
                 int to)
Returns a type-specific view of the portion of this list from the index from, inclusive, to the index to, exclusive.

Note that this specification strengthens the one given in List.subList(int,int).

Specified by:
subList in interface java.util.List<java.lang.Long>
See Also:
List.subList(int,int)

size

void size(int size)
Sets the size of this list.

If the specified size is smaller than the current size, the last elements are discarded. Otherwise, they are filled with 0/null/false.

Parameters:
size - the new size.

getElements

void getElements(int from,
                 long[] a,
                 int offset,
                 int length)
Copies (hopefully quickly) elements of this type-specific list into the given array.

Parameters:
from - the start index (inclusive).
a - the destination array.
offset - the offset into the destination array where to store the first element copied.
length - the number of elements to be copied.

removeElements

void removeElements(int from,
                    int to)
Removes (hopefully quickly) elements of this type-specific list.

Parameters:
from - the start index (inclusive).
to - the end index (exclusive).

addElements

void addElements(int index,
                 long[] a)
Add (hopefully quickly) elements to this type-specific list.

Parameters:
index - the index at which to add elements.
a - the array containing the elements.

addElements

void addElements(int index,
                 long[] a,
                 int offset,
                 int length)
Add (hopefully quickly) elements to this type-specific list.

Parameters:
index - the index at which to add elements.
a - the array containing the elements.
offset - the offset of the first element to add.
length - the number of elements to add.

add

boolean add(long key)
Specified by:
add in interface LongCollection
See Also:
List.add(Object)

add

void add(int index,
         long key)
See Also:
List.add(int,Object)

addAll

boolean addAll(int index,
               LongCollection c)
See Also:
List.add(int,Object)

addAll

boolean addAll(int index,
               LongList c)
See Also:
List.add(int,Object)

addAll

boolean addAll(LongList c)
See Also:
List.add(int,Object)

getLong

long getLong(int index)
See Also:
List.get(int)

indexOf

int indexOf(long k)
See Also:
List.indexOf(Object)

lastIndexOf

int lastIndexOf(long k)
See Also:
List.lastIndexOf(Object)

removeLong

long removeLong(int index)
See Also:
List.remove(int)

set

long set(int index,
         long k)
See Also:
List.set(int,Object)