|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.joda.collect.grid.SparseGrid<V>
V - the type of the valuepublic final class SparseGrid<V>
Mutable implementation of the Grid data structure based on hashing.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.joda.collect.grid.Grid |
|---|
Grid.Cell<V> |
| Method Summary | ||
|---|---|---|
Grid.Cell<V> |
cell(int row,
int column)
Gets the cell at the specified row-column. |
|
SortedSet<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. |
|
static
|
create(Grid<? extends R> grid)
Creates a SparseGrid copying from another grid. |
|
static
|
create(int rowCount,
int columnCount)
Creates an empty SparseGrid of the specified row-column count. |
|
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. |
|
String |
toString()
|
|
com.google.common.collect.ImmutableCollection<V> |
values()
Gets the values in order through rows, then columns. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Method Detail |
|---|
public static <R> SparseGrid<R> create(int rowCount,
int columnCount)
SparseGrid of the specified row-column count.
R - the type of the valuerowCount - the number of rows, zero or greatercolumnCount - the number of columns, zero or greater
public static <R> SparseGrid<R> create(Grid<? extends R> grid)
SparseGrid copying from another grid.
R - the type of the valuegrid - the grid to copy, not null
public int rowCount()
Grid
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 Grid.contains(int, int) will return false
for indices larger than the row count.
rowCount in interface Grid<V>public int columnCount()
Grid
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 Grid.contains(int, int) will return false
for indices larger than the column count.
columnCount in interface Grid<V>public int size()
Grid
size in interface Grid<V>
public Grid.Cell<V> cell(int row,
int column)
GridIf either index does not exist, null is returned.
cell in interface Grid<V>row - the rowcolumn - the column
public SortedSet<Grid.Cell<V>> cells()
GridIf 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.
cells in interface Grid<V>public void clear()
GridThe grid will be empty after calling this method.
clear in interface Grid<V>
public void put(int row,
int column,
V value)
GridThe 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.
put in interface Grid<V>row - the row, zero or greatercolumn - the column, zero or greatervalue - the value to put into the grid, not nullpublic void putAll(Grid<? extends V> grid)
GridThe value at the specified row-column is set. Any previous value at the row-column is replaced.
putAll in interface Grid<V>grid - the grid to put into this grid, not null
public boolean remove(int row,
int column)
GridIf either index does not exist, no action occurs and false is returned.
remove in interface Grid<V>row - the rowcolumn - the column
public boolean exists(int row,
int column)
GridThis simply checks that the row and column indices are between zero and the row and column counts.
exists in interface Grid<V>row - the rowcolumn - the column
public boolean isFull()
GridA full grid has a cell at every combination of row and column.
isFull in interface Grid<V>public boolean isEmpty()
Grid
isEmpty in interface Grid<V>
public boolean contains(int row,
int column)
GridIf either index does not exist, false is returned.
contains in interface Grid<V>row - the rowcolumn - the column
public boolean containsValue(Object valueToFind)
Grid
containsValue in interface Grid<V>valueToFind - the value to find, null returns false
public V get(int row,
int column)
GridIf either index does not exist, null is returned.
get in interface Grid<V>row - the rowcolumn - the column
public com.google.common.collect.ImmutableCollection<V> values()
GridThe returned data structure is an ordered collection. The values are returned in order, looping around rows, then columns.
values in interface Grid<V>public List<V> row(int row)
Grid
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 in interface Grid<V>row - the row, zero or greater
public List<List<V>> rows()
Grid
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.
rows in interface Grid<V>public List<V> column(int column)
Grid
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 in interface Grid<V>column - the column, zero or greater
public List<List<V>> columns()
Grid
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.
columns in interface Grid<V>public boolean equals(Object obj)
GridTwo grids are equal if they are the same size and contain the same set of cells.
equals in interface Grid<V>equals in class Objectobj - the object to compare to, null returns false
public int hashCode()
Grid
The hash code is rowCount ^ Integer.rotateLeft(columnCount, 16) ^ cells.hashCode().
hashCode in interface Grid<V>hashCode in class Objectpublic String toString()
toString in class Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||