@GwtCompatible final class SparseImmutableTable<R,C,V> extends RegularImmutableTable<R,C,V>
RegularImmutableTable
optimized for sparse data.ImmutableTable.Builder<R,C,V>, ImmutableTable.SerializedForm
Table.Cell<R,C,V>
Modifier and Type | Field and Description |
---|---|
private int[] |
cellColumnInRowIndices |
private int[] |
cellRowIndices |
private ImmutableMap<C,ImmutableMap<R,V>> |
columnMap |
(package private) static ImmutableTable<java.lang.Object,java.lang.Object,java.lang.Object> |
EMPTY |
private ImmutableMap<R,ImmutableMap<C,V>> |
rowMap |
Constructor and Description |
---|
SparseImmutableTable(ImmutableList<Table.Cell<R,C,V>> cellList,
ImmutableSet<R> rowSpace,
ImmutableSet<C> columnSpace) |
Modifier and Type | Method and Description |
---|---|
ImmutableMap<C,java.util.Map<R,V>> |
columnMap()
Returns a view that associates each column key with the corresponding map from row keys to
values.
|
(package private) ImmutableTable.SerializedForm |
createSerializedForm()
Creates the common serialized form for this table.
|
(package private) Table.Cell<R,C,V> |
getCell(int index) |
(package private) V |
getValue(int index) |
ImmutableMap<R,java.util.Map<C,V>> |
rowMap()
Returns a view that associates each row key with the corresponding map from column keys to
values.
|
int |
size()
Returns the number of row key / column key / value mappings in the table.
|
createCellSet, createValues, forCells, forCells, forOrderedComponents
builder, cellIterator, cellOf, cellSet, cellSpliterator, clear, column, columnKeySet, contains, containsValue, copyOf, of, of, put, putAll, remove, row, rowKeySet, toImmutableTable, toImmutableTable, values, valuesIterator, writeReplace
containsColumn, containsRow, equals, get, hashCode, isEmpty, toString, valuesSpliterator
static final ImmutableTable<java.lang.Object,java.lang.Object,java.lang.Object> EMPTY
private final ImmutableMap<R,ImmutableMap<C,V>> rowMap
private final ImmutableMap<C,ImmutableMap<R,V>> columnMap
private final int[] cellRowIndices
private final int[] cellColumnInRowIndices
SparseImmutableTable(ImmutableList<Table.Cell<R,C,V>> cellList, ImmutableSet<R> rowSpace, ImmutableSet<C> columnSpace)
public ImmutableMap<C,java.util.Map<R,V>> columnMap()
ImmutableTable
put()
or putAll()
, or setValue()
on its entries.
In contrast, the maps returned by columnMap().get()
have the same behavior as those
returned by Table.column(C)
. Those maps may support setValue()
, put()
, and
putAll()
.
The value Map<R, V>
instances in the returned map are ImmutableMap
instances
as well.
public ImmutableMap<R,java.util.Map<C,V>> rowMap()
ImmutableTable
put()
or putAll()
, or setValue()
on its entries.
In contrast, the maps returned by rowMap().get()
have the same behavior as those
returned by Table.row(R)
. Those maps may support setValue()
, put()
, and putAll()
.
The value Map<C, V>
instances in the returned map are ImmutableMap
instances
as well.
public int size()
Table
Table.Cell<R,C,V> getCell(int index)
getCell
in class RegularImmutableTable<R,C,V>
ImmutableTable.SerializedForm createSerializedForm()
ImmutableTable
createSerializedForm
in class ImmutableTable<R,C,V>