Package com.google.common.collect
Class DenseImmutableTable<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.DenseImmutableTable<R,C,V>
-
- All Implemented Interfaces:
Table<R,C,V>
,java.io.Serializable
final class DenseImmutableTable<R,C,V> extends RegularImmutableTable<R,C,V>
ARegularImmutableTable
optimized for dense data.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
DenseImmutableTable.Column
private class
DenseImmutableTable.ColumnMap
private static class
DenseImmutableTable.ImmutableArrayMap<K,V>
An immutable map implementation backed by an indexed nullable array.private class
DenseImmutableTable.Row
private class
DenseImmutableTable.RowMap
-
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[]
cellColumnIndices
private int[]
cellRowIndices
private int[]
columnCounts
private ImmutableMap<C,java.lang.Integer>
columnKeyToIndex
private ImmutableMap<C,ImmutableMap<R,V>>
columnMap
private int[]
rowCounts
private ImmutableMap<R,java.lang.Integer>
rowKeyToIndex
private ImmutableMap<R,ImmutableMap<C,V>>
rowMap
private V[][]
values
-
Constructor Summary
Constructors Constructor Description DenseImmutableTable(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.V
get(java.lang.Object rowKey, java.lang.Object columnKey)
Returns the value corresponding to the given row and column keys, ornull
if no such mapping exists.(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, hashCode, isEmpty, toString, valuesSpliterator
-
-
-
-
Field Detail
-
rowKeyToIndex
private final ImmutableMap<R,java.lang.Integer> rowKeyToIndex
-
columnKeyToIndex
private final ImmutableMap<C,java.lang.Integer> columnKeyToIndex
-
rowMap
private final ImmutableMap<R,ImmutableMap<C,V>> rowMap
-
columnMap
private final ImmutableMap<C,ImmutableMap<R,V>> columnMap
-
rowCounts
private final int[] rowCounts
-
columnCounts
private final int[] columnCounts
-
values
private final V[][] values
-
cellRowIndices
private final int[] cellRowIndices
-
cellColumnIndices
private final int[] cellColumnIndices
-
-
Constructor Detail
-
DenseImmutableTable
DenseImmutableTable(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.
-
get
public V get(java.lang.Object rowKey, java.lang.Object columnKey)
Description copied from interface:Table
Returns the value corresponding to the given row and column keys, ornull
if no such mapping exists.
-
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>
-
-