public double[] getDoubleRow(int row) { double[] outgoing = new double[columns.length]; for (int col = 0; col < columns.length; col++) { outgoing[col] = getDouble(row, col); } return outgoing; }
public double[] getDoubleColumn(int col) { double[] outgoing = new double[rowCount]; for (int row = 0; row < rowCount; row++) { outgoing[row] = getDouble(row, col); } return outgoing; }
public double[] getDoubleColumn(int col) { double[] outgoing = new double[rowCount]; for (int row = 0; row < rowCount; row++) { outgoing[row] = getDouble(row, col); } return outgoing; }
public double[] getDoubleRow(int row) { double[] outgoing = new double[columns.length]; for (int col = 0; col < columns.length; col++) { outgoing[col] = getDouble(row, col); } return outgoing; }
public double getDouble(int column) { return table.getDouble(row, column); }
public double getDouble(String columnName) { return table.getDouble(row, columnName); }
public double getDouble(int column) { return table.getDouble(row, column); }
public double getDouble(String columnName) { return table.getDouble(row, columnName); }
public double getDouble(int row, String columnName) { return getDouble(row, getColumnIndex(columnName)); }
public double getDouble(int row, String columnName) { return getDouble(row, getColumnIndex(columnName)); }
@Override public float compare(int index1, int index2) { int a = reverse ? order[index2] : order[index1]; int b = reverse ? order[index1] : order[index2]; switch (getColumnType(column)) { case INT: return getInt(a, column) - getInt(b, column); case LONG: return getLong(a, column) - getLong(b, column); case FLOAT: return getFloat(a, column) - getFloat(b, column); case DOUBLE: return (float) (getDouble(a, column) - getDouble(b, column)); case STRING: return getString(a, column).compareToIgnoreCase(getString(b, column)); case CATEGORY: return getInt(a, column) - getInt(b, column); default: throw new IllegalArgumentException("Invalid column type: " + getColumnType(column)); } }
@Override public float compare(int index1, int index2) { int a = reverse ? order[index2] : order[index1]; int b = reverse ? order[index1] : order[index2]; switch (getColumnType(column)) { case INT: return getInt(a, column) - getInt(b, column); case LONG: return getLong(a, column) - getLong(b, column); case FLOAT: return getFloat(a, column) - getFloat(b, column); case DOUBLE: return (float) (getDouble(a, column) - getDouble(b, column)); case STRING: return getString(a, column).compareToIgnoreCase(getString(b, column)); case CATEGORY: return getInt(a, column) - getInt(b, column); default: throw new IllegalArgumentException("Invalid column type: " + getColumnType(column)); } }
protected Table createSubset(int[] rowSubset) { Table newbie = new Table(); newbie.setColumnTitles(columnTitles); // also sets columns.length newbie.columnTypes = columnTypes; newbie.setRowCount(rowSubset.length); for (int i = 0; i < rowSubset.length; i++) { int row = rowSubset[i]; for (int col = 0; col < columns.length; col++) { switch (columnTypes[col]) { case STRING: newbie.setString(i, col, getString(row, col)); break; case INT: newbie.setInt(i, col, getInt(row, col)); break; case LONG: newbie.setLong(i, col, getLong(row, col)); break; case FLOAT: newbie.setFloat(i, col, getFloat(row, col)); break; case DOUBLE: newbie.setDouble(i, col, getDouble(row, col)); break; } } } return newbie; }
protected Table createSubset(int[] rowSubset) { Table newbie = new Table(); newbie.setColumnTitles(columnTitles); // also sets columns.length newbie.columnTypes = columnTypes; newbie.setRowCount(rowSubset.length); for (int i = 0; i < rowSubset.length; i++) { int row = rowSubset[i]; for (int col = 0; col < columns.length; col++) { switch (columnTypes[col]) { case STRING: newbie.setString(i, col, getString(row, col)); break; case INT: newbie.setInt(i, col, getInt(row, col)); break; case LONG: newbie.setLong(i, col, getLong(row, col)); break; case FLOAT: newbie.setFloat(i, col, getFloat(row, col)); break; case DOUBLE: newbie.setDouble(i, col, getDouble(row, col)); break; } } } return newbie; }