it.unimi.dsi.fastutil.objects
Class ObjectBigLists.ListBigList<K>

java.lang.Object
  extended by java.util.AbstractCollection<K>
      extended by it.unimi.dsi.fastutil.objects.AbstractObjectCollection<K>
          extended by it.unimi.dsi.fastutil.objects.AbstractObjectBigList<K>
              extended by it.unimi.dsi.fastutil.objects.ObjectBigLists.ListBigList<K>
All Implemented Interfaces:
BigList<K>, ObjectBigList<K>, ObjectCollection<K>, ObjectIterable<K>, Size64, Stack<K>, java.io.Serializable, java.lang.Comparable<BigList<? extends K>>, java.lang.Iterable<K>, java.util.Collection<K>
Enclosing class:
ObjectBigLists

public static class ObjectBigLists.ListBigList<K>
extends AbstractObjectBigList<K>
implements java.io.Serializable

A class exposing a list as a big list.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectBigList
AbstractObjectBigList.ObjectSubList<K>
 
Method Summary
 boolean add(K key)
           
 void add(long index, K key)
          Inserts the specified element at the specified position in this big list (optional operation).
 boolean addAll(java.util.Collection<? extends K> c)
          Delegates to a more generic method.
 boolean addAll(long index, java.util.Collection<? extends K> c)
          Inserts all of the elements in the specified collection into this big list at the specified position (optional operation).
 boolean addAll(long index, ObjectBigList<K> c)
           
 boolean addAll(long index, ObjectCollection<K> c)
           
 boolean addAll(ObjectBigList<K> c)
           
 boolean addAll(ObjectCollection<K> c)
           
 void clear()
           
 boolean contains(java.lang.Object key)
           
 boolean containsAll(java.util.Collection<?> c)
          Checks whether this collection contains all elements from the given collection.
 boolean containsAll(ObjectCollection<K> c)
           
 K get(long index)
          Returns the element at the specified position.
 int hashCode()
          Returns the hash code for this big list, which is identical to List.hashCode().
 long indexOf(java.lang.Object k)
          Returns the index of the first occurrence of the specified element in this big list, or -1 if this big list does not contain the element.
 boolean isEmpty()
          Checks whether the stack is empty.
 ObjectBigListIterator<K> iterator()
          Returns a type-specific iterator on the elements of this collection.
 long lastIndexOf(java.lang.Object k)
          Returns the index of the last occurrence of the specified element in this big list, or -1 if this big list does not contain the element.
 ObjectBigListIterator<K> listIterator()
          Returns a type-specific big-list iterator on this type-specific big list.
 ObjectBigListIterator<K> listIterator(long index)
          Returns a type-specific list iterator on this type-specific big list starting at a given index.
 K remove(long index)
          Removes the element at the specified position.
 boolean removeAll(java.util.Collection<?> c)
          Remove from this collection all elements in the given collection.
 boolean removeAll(ObjectCollection<K> c)
           
 void removeElements(long from, long to)
          Removes elements of this type-specific big list one-by-one.
 boolean retainAll(java.util.Collection<?> c)
          Retains in this collection only elements from the given collection.
 boolean retainAll(ObjectCollection<K> c)
           
 K set(long index, K k)
          Replaces the element at the specified position in this big list with the specified element (optional operation).
 int size()
          Deprecated. 
 void size(long size)
          Sets the size of this big list.
 long size64()
          Returns the size of this data structure as a long.
 ObjectBigList<K> subList(long from, long to)
          Returns a type-specific view of the portion of this type-specific big list from the index from, inclusive, to the index to, exclusive.
 java.lang.Object[] toArray()
           
<T> T[]
toArray(T[] a)
          Returns an containing the items of this collection; the runtime type of the returned array is that of the specified array.
 
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectBigList
addAll, addElements, addElements, compareTo, equals, get, getElements, listIterator, peek, pop, push, remove, set, size, top, toString
 
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectCollection
objectIterator
 
Methods inherited from class java.util.AbstractCollection
remove
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface it.unimi.dsi.fastutil.objects.ObjectCollection
objectIterator
 
Methods inherited from interface java.util.Collection
remove
 

Method Detail

size64

public long size64()
Description copied from interface: Size64
Returns the size of this data structure as a long.

Specified by:
size64 in interface Size64
Returns:
the size of this data structure.

size

@Deprecated
public int size()
Deprecated. 

Description copied from interface: Size64
Returns the size of this data structure, minimized with Integer.MAX_VALUE.

Specified by:
size in interface Size64
Specified by:
size in interface java.util.Collection<K>
Overrides:
size in class AbstractObjectBigList<K>
Returns:
the size of this data structure, minimized with Integer.MAX_VALUE.
See Also:
Collection.size()

size

public void size(long size)
Description copied from interface: BigList
Sets the size of this big list.

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

Specified by:
size in interface BigList<K>
Overrides:
size in class AbstractObjectBigList<K>
Parameters:
size - the new size.

iterator

public ObjectBigListIterator<K> iterator()
Description copied from interface: ObjectCollection
Returns a type-specific iterator on the elements of this collection.

Note that this specification strengthens the one given in Iterable.iterator(), which was already strengthened in the corresponding type-specific class, but was weakened by the fact that this interface extends Collection.

Specified by:
iterator in interface ObjectBigList<K>
Specified by:
iterator in interface ObjectCollection<K>
Specified by:
iterator in interface ObjectIterable<K>
Specified by:
iterator in interface java.lang.Iterable<K>
Specified by:
iterator in interface java.util.Collection<K>
Overrides:
iterator in class AbstractObjectBigList<K>
Returns:
a type-specific iterator on the elements of this collection.
See Also:
List.iterator()

listIterator

public ObjectBigListIterator<K> listIterator()
Description copied from interface: ObjectBigList
Returns a type-specific big-list iterator on this type-specific big list.

Specified by:
listIterator in interface BigList<K>
Specified by:
listIterator in interface ObjectBigList<K>
Overrides:
listIterator in class AbstractObjectBigList<K>
Returns:
a big-list iterator over the elements in this big list.
See Also:
List.listIterator()

addAll

public boolean addAll(long index,
                      java.util.Collection<? extends K> c)
Description copied from interface: BigList
Inserts all of the elements in the specified collection into this big list at the specified position (optional operation).

Specified by:
addAll in interface BigList<K>
Overrides:
addAll in class AbstractObjectBigList<K>
Parameters:
index - index at which to insert the first element from the specified collection.
c - collection containing elements to be added to this big list.
Returns:
true if this big list changed as a result of the call
See Also:
List.addAll(int, Collection)

listIterator

public ObjectBigListIterator<K> listIterator(long index)
Description copied from interface: ObjectBigList
Returns a type-specific list iterator on this type-specific big list starting at a given index.

Specified by:
listIterator in interface BigList<K>
Specified by:
listIterator in interface ObjectBigList<K>
Overrides:
listIterator in class AbstractObjectBigList<K>
Parameters:
index - index of first element to be returned from the big-list iterator.
Returns:
a big-list iterator of the elements in this big list, starting at the specified position in this big list.
See Also:
BigList.listIterator(long)

subList

public ObjectBigList<K> subList(long from,
                                long to)
Description copied from interface: ObjectBigList
Returns a type-specific view of the portion of this type-specific big list from the index from, inclusive, to the index to, exclusive.

Note that this specification strengthens the one given in BigList.subList(long,long).

Specified by:
subList in interface BigList<K>
Specified by:
subList in interface ObjectBigList<K>
Overrides:
subList in class AbstractObjectBigList<K>
Parameters:
from - the starting element (inclusive).
to - the ending element (exclusive).
Returns:
a big sublist view of this big list.
See Also:
BigList.subList(long,long)

contains

public boolean contains(java.lang.Object key)
Specified by:
contains in interface java.util.Collection<K>
Overrides:
contains in class AbstractObjectBigList<K>

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<K>
Overrides:
toArray in class AbstractObjectCollection<K>

removeElements

public void removeElements(long from,
                           long to)
Description copied from class: AbstractObjectBigList
Removes elements of this type-specific big list one-by-one.

This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.

Specified by:
removeElements in interface ObjectBigList<K>
Overrides:
removeElements in class AbstractObjectBigList<K>
Parameters:
from - the start index (inclusive).
to - the end index (exclusive).

add

public void add(long index,
                K key)
Description copied from interface: BigList
Inserts the specified element at the specified position in this big list (optional operation).

Specified by:
add in interface BigList<K>
Overrides:
add in class AbstractObjectBigList<K>
Parameters:
index - a position in the big list.
key - an element to be inserted.
See Also:
List.add(int,Object)

addAll

public boolean addAll(long index,
                      ObjectCollection<K> c)

addAll

public boolean addAll(long index,
                      ObjectBigList<K> c)

add

public boolean add(K key)
Specified by:
add in interface java.util.Collection<K>
Overrides:
add in class AbstractObjectBigList<K>

addAll

public boolean addAll(ObjectBigList<K> c)

get

public K get(long index)
Description copied from interface: BigList
Returns the element at the specified position.

Specified by:
get in interface BigList<K>
Parameters:
index - a position in the big list.
Returns:
the element at the specified position.
See Also:
List.get(int)

indexOf

public long indexOf(java.lang.Object k)
Description copied from interface: BigList
Returns the index of the first occurrence of the specified element in this big list, or -1 if this big list does not contain the element.

Specified by:
indexOf in interface BigList<K>
Overrides:
indexOf in class AbstractObjectBigList<K>
Parameters:
k - the object to search for.
Returns:
the index of the first occurrence of the specified element in this big list, or -1 if this big list does not contain the element.
See Also:
List.indexOf(Object)

lastIndexOf

public long lastIndexOf(java.lang.Object k)
Description copied from interface: BigList
Returns the index of the last occurrence of the specified element in this big list, or -1 if this big list does not contain the element.

Specified by:
lastIndexOf in interface BigList<K>
Overrides:
lastIndexOf in class AbstractObjectBigList<K>
Parameters:
k - the object to search for.
Returns:
the index of the last occurrence of the specified element in this big list, or -1 if this big list does not contain the element.
See Also:
List.lastIndexOf(Object)

remove

public K remove(long index)
Description copied from interface: BigList
Removes the element at the specified position.

Specified by:
remove in interface BigList<K>
Overrides:
remove in class AbstractObjectBigList<K>
Parameters:
index - a position in the big list.
Returns:
the element previously at the specified position.
See Also:
List.remove(int)

set

public K set(long index,
             K k)
Description copied from interface: BigList
Replaces the element at the specified position in this big list with the specified element (optional operation).

Specified by:
set in interface BigList<K>
Overrides:
set in class AbstractObjectBigList<K>
Parameters:
index - a position in the big list.
k - the element to be stored at the specified position.
Returns:
the element previously at the specified positions.
See Also:
List.set(int,Object)

addAll

public boolean addAll(ObjectCollection<K> c)

containsAll

public boolean containsAll(ObjectCollection<K> c)

removeAll

public boolean removeAll(ObjectCollection<K> c)

retainAll

public boolean retainAll(ObjectCollection<K> c)

isEmpty

public boolean isEmpty()
Description copied from interface: Stack
Checks whether the stack is empty.

Specified by:
isEmpty in interface Stack<K>
Specified by:
isEmpty in interface java.util.Collection<K>
Overrides:
isEmpty in class AbstractObjectCollection<K>
Returns:
true if the stack is empty.

toArray

public <T> T[] toArray(T[] a)
Description copied from interface: ObjectCollection
Returns an containing the items of this collection; the runtime type of the returned array is that of the specified array.

Warning: Note that, contrarily to Collection.toArray(Object[]), this methods just writes all elements of this collection: no special value will be added after the last one.

Specified by:
toArray in interface ObjectCollection<K>
Specified by:
toArray in interface java.util.Collection<K>
Overrides:
toArray in class AbstractObjectCollection<K>
Parameters:
a - if this array is big enough, it will be used to store this collection.
Returns:
a primitive type array containing the items of this collection.
See Also:
Collection.toArray(Object[])

containsAll

public boolean containsAll(java.util.Collection<?> c)
Description copied from class: AbstractObjectCollection
Checks whether this collection contains all elements from the given collection.

Specified by:
containsAll in interface java.util.Collection<K>
Overrides:
containsAll in class AbstractObjectCollection<K>
Parameters:
c - a collection.
Returns:
true if this collection contains all elements of the argument.

addAll

public boolean addAll(java.util.Collection<? extends K> c)
Description copied from class: AbstractObjectBigList
Delegates to a more generic method.

Specified by:
addAll in interface java.util.Collection<K>
Overrides:
addAll in class AbstractObjectBigList<K>
Parameters:
c - a collection.
Returns:
true if this collection changed as a result of the call.

removeAll

public boolean removeAll(java.util.Collection<?> c)
Description copied from class: AbstractObjectCollection
Remove from this collection all elements in the given collection. If the collection is an instance of this class, it uses faster iterators.

Specified by:
removeAll in interface java.util.Collection<K>
Overrides:
removeAll in class AbstractObjectCollection<K>
Parameters:
c - a collection.
Returns:
true if this collection changed as a result of the call.

retainAll

public boolean retainAll(java.util.Collection<?> c)
Description copied from class: AbstractObjectCollection
Retains in this collection only elements from the given collection.

Specified by:
retainAll in interface java.util.Collection<K>
Overrides:
retainAll in class AbstractObjectCollection<K>
Parameters:
c - a collection.
Returns:
true if this collection changed as a result of the call.

clear

public void clear()
Specified by:
clear in interface java.util.Collection<K>
Overrides:
clear in class java.util.AbstractCollection<K>

hashCode

public int hashCode()
Description copied from class: AbstractObjectBigList
Returns the hash code for this big list, which is identical to List.hashCode().

Specified by:
hashCode in interface java.util.Collection<K>
Overrides:
hashCode in class AbstractObjectBigList<K>
Returns:
the hash code for this big list.