Package com.google.common.collect
Class SparseImmutableTable<R,C,V>
- java.lang.Object
-
- com.google.common.collect.AbstractTable<R,C,V>
-
- com.google.common.collect.ImmutableTable<R,C,V>
-
- com.google.common.collect.RegularImmutableTable<R,C,V>
-
- com.google.common.collect.SparseImmutableTable<R,C,V>
-
- All Implemented Interfaces:
Table<R,C,V>
,java.io.Serializable
final class SparseImmutableTable<R,C,V> extends RegularImmutableTable<R,C,V>
ARegularImmutableTable
optimized for sparse data.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.common.collect.ImmutableTable
ImmutableTable.Builder<R,C,V>, ImmutableTable.SerializedForm
-
Nested classes/interfaces inherited from interface com.google.common.collect.Table
Table.Cell<R,C,V>
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description SparseImmutableTable(ImmutableList<Table.Cell<R,C,V>> cellList, ImmutableSet<R> rowSpace, ImmutableSet<C> columnSpace)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.-
Methods inherited from class com.google.common.collect.RegularImmutableTable
checkNoDuplicate, createCellSet, createValues, forCells, forCells, forOrderedComponents
-
Methods inherited from class com.google.common.collect.ImmutableTable
builder, cellIterator, cellOf, cellSet, cellSpliterator, clear, column, columnKeySet, contains, containsValue, copyOf, copyOf, of, of, put, putAll, remove, row, rowKeySet, toImmutableTable, toImmutableTable, values, valuesIterator, writeReplace
-
Methods inherited from class com.google.common.collect.AbstractTable
containsColumn, containsRow, equals, get, hashCode, isEmpty, toString, valuesSpliterator
-
-
-
-
Field Detail
-
EMPTY
static final ImmutableTable<java.lang.Object,java.lang.Object,java.lang.Object> EMPTY
-
rowMap
private final ImmutableMap<R,ImmutableMap<C,V>> rowMap
-
columnMap
private final ImmutableMap<C,ImmutableMap<R,V>> columnMap
-
cellRowIndices
private final int[] cellRowIndices
-
cellColumnInRowIndices
private final int[] cellColumnInRowIndices
-
-
Constructor Detail
-
SparseImmutableTable
SparseImmutableTable(ImmutableList<Table.Cell<R,C,V>> cellList, ImmutableSet<R> rowSpace, ImmutableSet<C> columnSpace)
-
-
Method Detail
-
columnMap
public ImmutableMap<C,java.util.Map<R,V>> columnMap()
Description copied from class:ImmutableTable
Returns a view that associates each column key with the corresponding map from row keys to values. Changes to the returned map will update this table. The returned map does not supportput()
orputAll()
, orsetValue()
on its entries.In contrast, the maps returned by
columnMap().get()
have the same behavior as those returned byTable.column(C)
. Those maps may supportsetValue()
,put()
, andputAll()
.The value
Map<R, V>
instances in the returned map areImmutableMap
instances as well.
-
rowMap
public ImmutableMap<R,java.util.Map<C,V>> rowMap()
Description copied from class:ImmutableTable
Returns a view that associates each row key with the corresponding map from column keys to values. Changes to the returned map will update this table. The returned map does not supportput()
orputAll()
, orsetValue()
on its entries.In contrast, the maps returned by
rowMap().get()
have the same behavior as those returned byTable.row(R)
. Those maps may supportsetValue()
,put()
, andputAll()
.The value
Map<C, V>
instances in the returned map areImmutableMap
instances as well.
-
size
public int size()
Description copied from interface:Table
Returns the number of row key / column key / value mappings in the table.
-
getCell
Table.Cell<R,C,V> getCell(int index)
- Specified by:
getCell
in classRegularImmutableTable<R,C,V>
-
createSerializedForm
ImmutableTable.SerializedForm createSerializedForm()
Description copied from class:ImmutableTable
Creates the common serialized form for this table.- Specified by:
createSerializedForm
in classImmutableTable<R,C,V>
-
-