|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
V - the type of the valuepublic interface Grid<V>
A data structure representing a grid keyed by int row and int column.
A grid has a fixed number of rows and columns, but not all cells must be occupied. Dense and sparse implementations are provided that handle high and low numbers of cells relative to the potential capacity.
| Nested Class Summary | |
|---|---|
static interface |
Grid.Cell<V>
A cell within the grid compared only using row and column. |
| Method Summary | |
|---|---|
Grid.Cell<V> |
cell(int row,
int column)
Gets the cell at the specified row-column. |
Set<Grid.Cell<V>> |
cells()
Gets the complete set of cells. |
void |
clear()
Clears the grid. |
List<V> |
column(int column)
Gets the rows of a single column. |
int |
columnCount()
Gets the number of columns in the grid. |
List<List<V>> |
columns()
Gets the entire grid of values, by column then row. |
boolean |
contains(int row,
int column)
Checks if a value is present at the specified row-column. |
boolean |
containsValue(Object valueToFind)
Checks if the specified value is contained in the grid. |
boolean |
equals(Object obj)
Checks if this grid equals another grid. |
boolean |
exists(int row,
int column)
Checks if the specified row-column exists. |
V |
get(int row,
int column)
Gets the value at the specified row-column. |
int |
hashCode()
Gets a suitable hash code. |
boolean |
isEmpty()
Checks if the grid is empty. |
boolean |
isFull()
Checks if the grid is full. |
void |
put(int row,
int column,
V value)
Puts a value into this grid. |
void |
putAll(Grid<? extends V> grid)
Puts all cells from a grid into this grid. |
boolean |
remove(int row,
int column)
Removes the value at the specified row-column. |
List<V> |
row(int row)
Gets the columns of a single row. |
int |
rowCount()
Gets the number of rows in the grid. |
List<List<V>> |
rows()
Gets the entire grid of values, by row then column. |
int |
size()
Gets the number of cells that are present. |
com.google.common.collect.ImmutableCollection<V> |
values()
Gets the values in order through rows, then columns. |
| Method Detail |
|---|
int rowCount()
A grid has a fixed number of rows and columns, but not all cells must be occupied.
This returns the row capacity, not the number of occupied rows.
It is guaranteed that contains(int, int) will return false
for indices larger than the row count.
int columnCount()
A grid has a fixed number of rows and columns, but not all cells must be occupied.
This returns the column capacity, not the number of occupied columns.
It is guaranteed that contains(int, int) will return false
for indices larger than the column count.
boolean exists(int row,
int column)
This simply checks that the row and column indices are between zero and the row and column counts.
row - the rowcolumn - the column
boolean isFull()
A full grid has a cell at every combination of row and column.
boolean isEmpty()
int size()
boolean contains(int row,
int column)
If either index does not exist, false is returned.
row - the rowcolumn - the column
boolean containsValue(Object valueToFind)
valueToFind - the value to find, null returns false
V get(int row,
int column)
If either index does not exist, null is returned.
row - the rowcolumn - the column
Grid.Cell<V> cell(int row,
int column)
If either index does not exist, null is returned.
row - the rowcolumn - the column
boolean equals(Object obj)
Two grids are equal if they are the same size and contain the same set of cells.
equals in class Objectobj - the object to compare to, null returns false
int hashCode()
The hash code is rowCount ^ Integer.rotateLeft(columnCount, 16) ^ cells.hashCode().
hashCode in class Objectvoid clear()
The grid will be empty after calling this method.
UnsupportedOperationException - if read-only
void put(int row,
int column,
V value)
The value at the specified row-column is set. Any previous value at the row-column is replaced.
If either index does not exist, IndexOutOfBoundsException is thrown.
row - the row, zero or greatercolumn - the column, zero or greatervalue - the value to put into the grid, not null
IndexOutOfBoundsException - if either index does not exist
UnsupportedOperationException - if read-onlyvoid putAll(Grid<? extends V> grid)
The value at the specified row-column is set. Any previous value at the row-column is replaced.
grid - the grid to put into this grid, not null
IndexOutOfBoundsException - if a cell has an invalid index
UnsupportedOperationException - if read-only
boolean remove(int row,
int column)
If either index does not exist, no action occurs and false is returned.
row - the rowcolumn - the column
UnsupportedOperationException - if read-onlySet<Grid.Cell<V>> cells()
If the grid is mutable then cells may be added or removed from the set. The cells are returned in order, looping around rows, then columns.
The cell returned from the set iterator may be a mutable Cell
implementation that cannot be stored beyond the lifetime of an iteration.
com.google.common.collect.ImmutableCollection<V> values()
The returned data structure is an ordered collection. The values are returned in order, looping around rows, then columns.
List<V> row(int row)
The list will contain all columns from zero to columnCount.
Where there is no value for a cell, the list will contain null.
The returned list is immutable, except for List.set(int, Object),
which adds, updates or deletes from the underlying grid.
row - the row, zero or greater
IndexOutOfBoundsException - if the row is invalidList<List<V>> rows()
The outer list contains all rows from zero to rowCount.
Each inner list contains all columns from zero to columnCount.
Where there is no value for a cell, the value is null.
The returned list is immutable, except for the List.set(int, Object)
method on the inner list, which adds, updates or deletes from the underlying grid.
List<V> column(int column)
The list will contain all rows from zero to rowCount.
Where data is not present, the list will contain null.
The returned list is immutable, except for List.set(int, Object),
which adds, updates or deletes from the underlying grid.
column - the column, zero or greater
IndexOutOfBoundsException - if the column is invalidList<List<V>> columns()
The outer list contains all columns from zero to columnCount.
Each inner list contains all rows from zero to rowCount.
Where there is no value for a cell, the value is null.
The returned list is immutable, except for the List.set(int, Object)
method on the inner list, which adds, updates or deletes from the underlying grid.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||