public boolean columnContains(int columnIndex, Object value) { for (List<TValue> rowList : data) { if (rowList.size() >= columnIndex) { return areEqual(rowList.get(columnIndex), value); } } return false; }
public TValue put(TRowKey row, TColumnKey column, TValue value) { List<TValue> rowList = ensureRow(row); int columnIndex = ensureColumn(column, rowList); TValue previous = rowList.get(columnIndex); rowList.set(columnIndex, value); return previous; }
public boolean rowContains(int rowIndex, Object value) { if (data.size() > rowIndex) throw new IllegalArgumentException(); List<TValue> rowList = data.get(rowIndex); return rowList.contains(value) || (rowList.size() < columnIndices.size() && areEqual(value, defaultValue)); }