it.unimi.dsi.fastutil.objects
Class ReferenceBigLists

java.lang.Object
  extended by it.unimi.dsi.fastutil.objects.ReferenceBigLists

public class ReferenceBigLists
extends Object

A class providing static methods and objects that do useful things with type-specific big lists.

See Also:
Collections, BigList

Nested Class Summary
static class ReferenceBigLists.EmptyBigList<K>
          An immutable class representing an empty type-specific big list.
static class ReferenceBigLists.ListBigList<K>
          A class exposing a list as a big list.
static class ReferenceBigLists.Singleton<K>
          An immutable class representing a type-specific singleton big list.
static class ReferenceBigLists.SynchronizedBigList<K>
          A synchronized wrapper class for big lists.
static class ReferenceBigLists.UnmodifiableBigList<K>
          An unmodifiable wrapper class for big lists.
 
Field Summary
static ReferenceBigLists.EmptyBigList EMPTY_BIG_LIST
          An empty big list (immutable).
 
Method Summary
static
<K> ReferenceBigList<K>
asBigList(ReferenceList<K> list)
          Returns a big list backed by the specified list.
static
<K> ReferenceBigList<K>
shuffle(ReferenceBigList<K> l, Random random)
          Shuffles the specified big list using the specified pseudorandom number generator.
static
<K> ReferenceBigList<K>
singleton(K element)
          Returns a type-specific immutable big list containing only the specified element.
static
<K> ReferenceBigList<K>
synchronize(ReferenceBigList<K> l)
          Returns a synchronized type-specific big list backed by the given type-specific big list.
static
<K> ReferenceBigList<K>
synchronize(ReferenceBigList<K> l, Object sync)
          Returns a synchronized type-specific big list backed by the given type-specific big list, using an assigned object to synchronize.
static
<K> ReferenceBigList<K>
unmodifiable(ReferenceBigList<K> l)
          Returns an unmodifiable type-specific big list backed by the given type-specific big list.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_BIG_LIST

public static final ReferenceBigLists.EmptyBigList EMPTY_BIG_LIST
An empty big list (immutable). It is serializable and cloneable.

The class of this objects represent an abstract empty list that is a sublist of any type of list. Thus, EMPTY_BIG_LIST may be assigned to a variable of any (sorted) type-specific list.

Method Detail

shuffle

public static <K> ReferenceBigList<K> shuffle(ReferenceBigList<K> l,
                                              Random random)
Shuffles the specified big list using the specified pseudorandom number generator.

Parameters:
l - the big list to be shuffled.
random - a pseudorandom number generator (please use a XorShift* generator).
Returns:
l.

singleton

public static <K> ReferenceBigList<K> singleton(K element)
Returns a type-specific immutable big list containing only the specified element. The returned big list is serializable and cloneable.

Parameters:
element - the only element of the returned big list.
Returns:
a type-specific immutable big list containing just element.

synchronize

public static <K> ReferenceBigList<K> synchronize(ReferenceBigList<K> l)
Returns a synchronized type-specific big list backed by the given type-specific big list.

Parameters:
l - the big list to be wrapped in a synchronized big list.
Returns:
a synchronized view of the specified big list.
See Also:
Collections.synchronizedList(List)

synchronize

public static <K> ReferenceBigList<K> synchronize(ReferenceBigList<K> l,
                                                  Object sync)
Returns a synchronized type-specific big list backed by the given type-specific big list, using an assigned object to synchronize.

Parameters:
l - the big list to be wrapped in a synchronized big list.
sync - an object that will be used to synchronize the access to the big list.
Returns:
a synchronized view of the specified big list.
See Also:
Collections.synchronizedList(List)

unmodifiable

public static <K> ReferenceBigList<K> unmodifiable(ReferenceBigList<K> l)
Returns an unmodifiable type-specific big list backed by the given type-specific big list.

Parameters:
l - the big list to be wrapped in an unmodifiable big list.
Returns:
an unmodifiable view of the specified big list.
See Also:
Collections.unmodifiableList(List)

asBigList

public static <K> ReferenceBigList<K> asBigList(ReferenceList<K> list)
Returns a big list backed by the specified list.

Parameters:
list - a list.
Returns:
a big list backed by the specified list.