A collection that associates an ordered pair of keys, called a row key and a column key, with a single value. A table may be sparse, with only a small fraction of row key / column key pairs possessing a corresponding value.
The mappings corresponding to a given row key may be viewed as a {@link Map} whose keys are the columns. The reverse is also available, associating acolumn with a row key / value map. Note that, in some implementations, data access by column key may have fewer supported operations or worse performance than data access by row key.
The methods returning collections or maps always return views of the underlying table. Updating the table can change the contents of those collections, and updating the collections will change the table.
All methods that modify the table are optional, and the views returned by the table may or may not be modifiable. When modification isn't supported, those methods will throw an {@link UnsupportedOperationException}.
@author Jared Levy
@param < R> the type of the table row keys
@param < C> the type of the table column keys
@param < V> the type of the mapped values
@since Guava release 07