类 DataTable

  • 直接已知子类:
    TableData

    public class DataTable
    extends java.lang.Object
    作者:
    Yaqiang Wang
    • 构造器概要

      构造器 
      构造器 说明
      DataTable()
      Constructor
      DataTable​(java.lang.String dataTableName)
      Constructor
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      DataColumn addColumn​(int index, java.lang.String columnName, DataTypes dataType)
      Add a data column
      void addColumn​(int index, DataColumn column)
      Add a data column by index
      DataColumn addColumn​(java.lang.String columnName, DataTypes dataType)
      Add a data column
      void addColumn​(DataColumn column)
      Add a data column
      void addColumnData​(int index, java.lang.String colName, DataTypes dataType, java.util.List<java.lang.Object> colData)
      Add column data
      void addColumnData​(java.lang.String colName, java.lang.String dt, java.util.List<java.lang.Object> colData)
      Add column data
      void addColumnData​(java.lang.String colName, DataTypes dataType, java.util.List<java.lang.Object> colData)
      Add column data
      void addColumnData​(ColumnData colData)
      Add column data
      DataRow addRow()
      Add data row
      boolean addRow​(DataRow row)
      Add a data row
      void addRows​(java.util.List<DataRow> rows)
      Add data rows
      boolean appendRow​(DataRow row)
      Append a data row
      java.lang.Object avg​(java.lang.String columns, java.lang.String filter)  
      java.lang.Object avg​(java.lang.String columns, java.lang.String filter, java.lang.String groupBy)  
      java.lang.Object clone()
      Clone
      DataTable cloneTable_Field()
      Clone table - Vectorlayer with fields
      DataTable colSelect​(java.util.List<DataColumn> cols)
      Create a new data table using selected columns
      DataColumn findColumn​(java.lang.String colName)
      Find column by name
      java.util.List<DataColumn> findColumns​(java.util.List<java.lang.String> colNames)
      Get data columns by names
      java.util.List<DataColumn> findColumns_Index​(java.util.List<java.lang.Integer> colIndex)
      Get data columns by index
      int getColumnCount()
      Get column count
      ColumnData getColumnData​(java.lang.String colName)
      Get column data
      ColumnData getColumnData​(java.util.List<DataRow> rows, java.lang.String colName)
      Get column data
      ColumnData getColumnData​(DataColumn col)
      Get column data
      java.util.List<java.lang.String> getColumnNames()
      Get column names
      DataColumnCollection getColumns()
      Get data columns
      int getRowCount()
      Get row count
      DataRowCollection getRows()
      Get data rows
      DataRowCollection getRows​(java.util.List<java.lang.Integer> idx)
      Get data rows
      DataRowCollection getRows​(ucar.ma2.Range range)
      Get data rows
      java.lang.String getTableName()
      Get table name
      java.lang.Object getTag()
      Get tag
      int getTotalCount()
      Get total row count
      java.lang.Object getValue​(int row, int col)
      Get the value by row and column index
      java.lang.Object getValue​(int row, java.lang.String colName)
      Get the value by row index and column name
      boolean hasTimeColumn()
      Check if the table has time column
      java.lang.String head​(int n)
      Convert to string - head
      boolean isReadOnly()
      Get if is read only
      void join​(DataTable dataTable, java.lang.String colName)
      Join data table
      void join​(DataTable dataTable, java.lang.String colName, boolean isUpdate)
      Join data table
      void join​(DataTable dataTable, java.lang.String colName_this, java.lang.String colName_in, boolean isUpdate)
      Join data table
      java.lang.Object max​(java.lang.String columns, java.lang.String filter)  
      java.lang.Object max​(java.lang.String columns, java.lang.String filter, java.lang.String groupBy)  
      java.lang.Object min​(java.lang.String columns, java.lang.String filter)  
      java.lang.Object min​(java.lang.String columns, java.lang.String filter, java.lang.String groupBy)  
      DataRow newRow()
      Create a new data row
      void removeColumn​(DataColumn column)
      Remove a data column
      void removeJoin()
      Remove joined data columns
      void removeRow​(int rowIdx)
      Remove a row
      void removeRow​(DataRow row)
      Remove a row
      void removeRows​(java.util.List<DataRow> rows)
      Remove rows
      void renameColumn​(int colIdx, java.lang.String fieldName)
      Rename column
      void renameColumn​(java.lang.String oldName, java.lang.String newName)
      Rename column
      void renameColumn​(DataColumn column, java.lang.String fieldName)
      Rename column
      void saveAsASCIIFile​(java.lang.String fileName)
      Save as ASCII file
      void saveAsASCIIFile​(java.lang.String fileName, java.lang.String delimiter, java.lang.String dateFormat, java.lang.String floatFormat)
      Save as ASCII file
      void saveAsASCIIFile_format​(java.lang.String fileName, java.lang.String format)
      Save as ASCII file
      void saveAsCSVFile​(java.lang.String fileName)
      Save as csv file
      void saveAsCSVFile​(java.lang.String fileName, java.lang.String format)
      Save as csv file
      DataTable select​(int r_start, int r_stop, int r_step)
      Get a new table by select rows
      DataTable select​(int r_start, int r_stop, int r_step, int c_start, int c_stop, int c_step)
      Get a new table by select rows
      DataTable select​(int r_start, int r_stop, int r_step, java.util.List<DataColumn> cols)
      Get a new table by select rows
      java.util.List<DataRow> select​(java.lang.String expression)
      Select data rows
      DataTable select​(java.lang.String expression, DataColumn[] dataColumns)
      Select and form a new data table
      DataTable select​(java.util.List<java.lang.Integer> rowIndex)
      Get a new table by row index
      DataTable select​(java.util.List<java.lang.Integer> rowIndex, int c_start, int c_stop, int c_step)
      Get a new table by row index and column slice
      DataTable select​(java.util.List<java.lang.Integer> rowIndex, java.util.List<DataColumn> cols)
      Get a new table by row index and columns
      DataTable select​(java.util.List<java.lang.Integer> rowIndex, ucar.ma2.Range colRange)
      Get a new table by row index and column range
      DataTable select​(ucar.ma2.Range rowRange)
      Get a new table by row range
      DataTable select​(ucar.ma2.Range rowRange, java.util.List<DataColumn> cols)
      Get a new table by row range and columns
      DataTable select​(ucar.ma2.Range rowRange, ucar.ma2.Range colRange)
      Get a new table by row range and column range
      void setColumnData​(java.lang.String colName, java.util.List<java.lang.Object> colData)
      Add column data
      void setColumnData​(DataColumn col, java.util.List<java.lang.Object> colData)
      Add column data
      void setReadOnly​(boolean readOnly)
      Set if is read only
      void setRows​(java.util.List<DataRow> rows)
      Set data rows
      void setTableName​(java.lang.String tableName)
      Set tabel name
      void setTag​(java.lang.Object tag)
      Set tag
      void setValue​(int row, int col, java.lang.Object value)
      Set a vlaue by row and column index
      void setValue​(int row, java.lang.String colName, java.lang.Object value)
      Set a value
      void setValues​(java.lang.String colName, java.util.List<java.lang.Object> values)
      Set values
      DataTable sqlSelect​(java.lang.String expression)
      Select and form a new data table
      java.lang.String tail​(int n)
      Convert to string - tail
      java.lang.String toString()
      Convert to string
      java.lang.String toString​(int decimalNum)
      Convert to string
      java.lang.String toString​(java.lang.String dateFormat)
      Convert to string
      java.lang.String toString​(java.lang.String dateFormat, int decimalNum)
      Convert to string
      • 从类继承的方法 java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 字段详细资料

      • tableName

        protected java.lang.String tableName
      • readOnly

        protected boolean readOnly
      • nextRowIndex

        protected int nextRowIndex
      • tag

        protected java.lang.Object tag
    • 构造器详细资料

      • DataTable

        public DataTable()
        Constructor
      • DataTable

        public DataTable​(java.lang.String dataTableName)
        Constructor
        参数:
        dataTableName - The data table name
    • 方法详细资料

      • getTotalCount

        public int getTotalCount()
        Get total row count
        返回:
        Row number
      • getRowCount

        public int getRowCount()
        Get row count
        返回:
        Row count
      • getColumnCount

        public int getColumnCount()
        Get column count
        返回:
        Column count
      • isReadOnly

        public boolean isReadOnly()
        Get if is read only
        返回:
        Boolean
      • setReadOnly

        public void setReadOnly​(boolean readOnly)
        Set if is read only
        参数:
        readOnly - Read only
      • getTableName

        public java.lang.String getTableName()
        Get table name
        返回:
        Table name
      • setTableName

        public void setTableName​(java.lang.String tableName)
        Set tabel name
        参数:
        tableName - Table name
      • getRows

        public DataRowCollection getRows()
        Get data rows
        返回:
        DataRowCollection The data rows
      • getRows

        public DataRowCollection getRows​(java.util.List<java.lang.Integer> idx)
        Get data rows
        参数:
        idx - Index
        返回:
        DataRowCollection The data rows
      • getRows

        public DataRowCollection getRows​(ucar.ma2.Range range)
        Get data rows
        参数:
        range - Range
        返回:
        DataRowCollection The data rows
      • getColumnNames

        public java.util.List<java.lang.String> getColumnNames()
        Get column names
        返回:
        Column names
      • getValue

        public java.lang.Object getValue​(int row,
                                         java.lang.String colName)
        Get the value by row index and column name
        参数:
        row - Row index
        colName - Column name
        返回:
        Object The value
      • getValue

        public java.lang.Object getValue​(int row,
                                         int col)
        Get the value by row and column index
        参数:
        row - Row index
        col - Column index
        返回:
        Object The value
      • newRow

        public DataRow newRow()
                       throws java.lang.Exception
        Create a new data row
        返回:
        DataRow The new data row
        抛出:
        java.lang.Exception
      • setValue

        public void setValue​(int row,
                             int col,
                             java.lang.Object value)
        Set a vlaue by row and column index
        参数:
        row - Row index
        col - Column index
        value - The value
      • setValue

        public void setValue​(int row,
                             java.lang.String colName,
                             java.lang.Object value)
        Set a value
        参数:
        row - Row index
        colName - Column name
        value - The value
      • setValues

        public void setValues​(java.lang.String colName,
                              java.util.List<java.lang.Object> values)
        Set values
        参数:
        colName - Column name
        values - Values
      • setTag

        public void setTag​(java.lang.Object tag)
        Set tag
        参数:
        tag - The tag
      • getTag

        public java.lang.Object getTag()
        Get tag
        返回:
        the tag
      • findColumn

        public DataColumn findColumn​(java.lang.String colName)
        Find column by name
        参数:
        colName - The column name
        返回:
        The data column
      • findColumns

        public java.util.List<DataColumn> findColumns​(java.util.List<java.lang.String> colNames)
        Get data columns by names
        参数:
        colNames - Data column names
        返回:
        Data columns
      • findColumns_Index

        public java.util.List<DataColumn> findColumns_Index​(java.util.List<java.lang.Integer> colIndex)
        Get data columns by index
        参数:
        colIndex - Data column index
        返回:
        Data columns
      • hasTimeColumn

        public boolean hasTimeColumn()
        Check if the table has time column
        返回:
        Boolean
      • addColumn

        public DataColumn addColumn​(java.lang.String columnName,
                                    DataTypes dataType)
                             throws java.lang.Exception
        Add a data column
        参数:
        columnName - Data column name
        dataType - Data type
        返回:
        The data column
        抛出:
        java.lang.Exception
      • addColumn

        public DataColumn addColumn​(int index,
                                    java.lang.String columnName,
                                    DataTypes dataType)
                             throws java.lang.Exception
        Add a data column
        参数:
        index - The index
        columnName - Data column name
        dataType - Data type
        返回:
        The data column
        抛出:
        java.lang.Exception
      • addColumn

        public void addColumn​(int index,
                              DataColumn column)
        Add a data column by index
        参数:
        index - The index
        column - Data column
      • addColumn

        public void addColumn​(DataColumn column)
        Add a data column
        参数:
        column - Data column
      • removeColumn

        public void removeColumn​(DataColumn column)
        Remove a data column
        参数:
        column - The data column
      • renameColumn

        public void renameColumn​(DataColumn column,
                                 java.lang.String fieldName)
        Rename column
        参数:
        column - The column
        fieldName - The new column name
      • renameColumn

        public void renameColumn​(java.lang.String oldName,
                                 java.lang.String newName)
        Rename column
        参数:
        oldName - The old column name
        newName - The new column name
      • renameColumn

        public void renameColumn​(int colIdx,
                                 java.lang.String fieldName)
        Rename column
        参数:
        colIdx - The column index
        fieldName - The new column name
      • addRow

        public boolean addRow​(DataRow row)
                       throws java.lang.Exception
        Add a data row
        参数:
        row - The data row
        返回:
        Boolean
        抛出:
        java.lang.Exception
      • addRow

        public DataRow addRow()
                       throws java.lang.Exception
        Add data row
        返回:
        Data row
        抛出:
        java.lang.Exception
      • addRows

        public void addRows​(java.util.List<DataRow> rows)
                     throws java.lang.Exception
        Add data rows
        参数:
        rows - Data rows
        抛出:
        java.lang.Exception
      • appendRow

        public boolean appendRow​(DataRow row)
        Append a data row
        参数:
        row - Data row
        返回:
        Boolean
      • removeRow

        public void removeRow​(int rowIdx)
        Remove a row
        参数:
        rowIdx - Row index
      • removeRow

        public void removeRow​(DataRow row)
        Remove a row
        参数:
        row - The row will be removed
      • removeRows

        public void removeRows​(java.util.List<DataRow> rows)
        Remove rows
        参数:
        rows - The rows will be removed
      • setRows

        public void setRows​(java.util.List<DataRow> rows)
        Set data rows
        参数:
        rows - The data rows
      • setColumnData

        public void setColumnData​(DataColumn col,
                                  java.util.List<java.lang.Object> colData)
                           throws java.lang.Exception
        Add column data
        参数:
        col - The column
        colData - The column data
        抛出:
        java.lang.Exception
      • setColumnData

        public void setColumnData​(java.lang.String colName,
                                  java.util.List<java.lang.Object> colData)
                           throws java.lang.Exception
        Add column data
        参数:
        colName - Column name
        colData - The column data
        抛出:
        java.lang.Exception
      • addColumnData

        public void addColumnData​(ColumnData colData)
                           throws java.lang.Exception
        Add column data
        参数:
        colData - The column data
        抛出:
        java.lang.Exception
      • addColumnData

        public void addColumnData​(java.lang.String colName,
                                  DataTypes dataType,
                                  java.util.List<java.lang.Object> colData)
                           throws java.lang.Exception
        Add column data
        参数:
        colName - Column name
        dataType - Data type
        colData - The column data
        抛出:
        java.lang.Exception
      • addColumnData

        public void addColumnData​(int index,
                                  java.lang.String colName,
                                  DataTypes dataType,
                                  java.util.List<java.lang.Object> colData)
                           throws java.lang.Exception
        Add column data
        参数:
        index - Column index
        colName - Column name
        dataType - Data type
        colData - The column data
        抛出:
        java.lang.Exception
      • addColumnData

        public void addColumnData​(java.lang.String colName,
                                  java.lang.String dt,
                                  java.util.List<java.lang.Object> colData)
                           throws java.lang.Exception
        Add column data
        参数:
        colName - Column name
        dt - Data type string
        colData - The column data
        抛出:
        java.lang.Exception
      • getColumnData

        public ColumnData getColumnData​(java.lang.String colName)
        Get column data
        参数:
        colName - The column name
        返回:
        Column data
      • getColumnData

        public ColumnData getColumnData​(DataColumn col)
        Get column data
        参数:
        col - The data column
        返回:
        Column data
      • getColumnData

        public ColumnData getColumnData​(java.util.List<DataRow> rows,
                                        java.lang.String colName)
        Get column data
        参数:
        rows - The data row list
        colName - The data column name
        返回:
        Column values
      • select

        public java.util.List<DataRow> select​(java.lang.String expression)
        Select data rows
        参数:
        expression - SQL expression
        返回:
        Selected data rows
      • select

        public DataTable select​(java.lang.String expression,
                                DataColumn[] dataColumns)
        Select and form a new data table
        参数:
        expression - SQL expression
        dataColumns - Data columns
        返回:
        Selected data table
      • select

        public DataTable select​(ucar.ma2.Range rowRange)
                         throws java.lang.Exception
        Get a new table by row range
        参数:
        rowRange - Row range
        返回:
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(int r_start,
                                int r_stop,
                                int r_step)
                         throws java.lang.Exception
        Get a new table by select rows
        参数:
        r_start - row start
        r_stop - row stop
        r_step - row step
        返回:
        Result table
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(java.util.List<java.lang.Integer> rowIndex)
                         throws java.lang.Exception
        Get a new table by row index
        参数:
        rowIndex - Row index
        返回:
        Result table
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(ucar.ma2.Range rowRange,
                                ucar.ma2.Range colRange)
                         throws java.lang.Exception
        Get a new table by row range and column range
        参数:
        rowRange - Row range
        colRange - Column range
        返回:
        Result table
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(int r_start,
                                int r_stop,
                                int r_step,
                                int c_start,
                                int c_stop,
                                int c_step)
                         throws java.lang.Exception
        Get a new table by select rows
        参数:
        r_start - Row start
        r_stop - Row stop
        r_step - Row step
        c_start - Column start
        c_stop - Column stop
        c_step - Column step
        返回:
        Result table
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(java.util.List<java.lang.Integer> rowIndex,
                                ucar.ma2.Range colRange)
                         throws java.lang.Exception
        Get a new table by row index and column range
        参数:
        rowIndex - Row index
        colRange - Column range
        返回:
        Result table
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(java.util.List<java.lang.Integer> rowIndex,
                                int c_start,
                                int c_stop,
                                int c_step)
                         throws java.lang.Exception
        Get a new table by row index and column slice
        参数:
        rowIndex - Row index
        c_start - Column start
        c_stop - Column stop
        c_step - Column step
        返回:
        Result table
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(ucar.ma2.Range rowRange,
                                java.util.List<DataColumn> cols)
                         throws java.lang.Exception
        Get a new table by row range and columns
        参数:
        rowRange - Row range
        cols - Columns
        返回:
        Result table
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(int r_start,
                                int r_stop,
                                int r_step,
                                java.util.List<DataColumn> cols)
                         throws java.lang.Exception
        Get a new table by select rows
        参数:
        r_start - Row start
        r_stop - Row stop
        r_step - Row step
        cols - Columns
        返回:
        Result table
        抛出:
        java.lang.Exception
      • select

        public DataTable select​(java.util.List<java.lang.Integer> rowIndex,
                                java.util.List<DataColumn> cols)
                         throws java.lang.Exception
        Get a new table by row index and columns
        参数:
        rowIndex - Row index
        cols - Columns
        返回:
        Result table
        抛出:
        java.lang.Exception
      • colSelect

        public DataTable colSelect​(java.util.List<DataColumn> cols)
                            throws java.lang.Exception
        Create a new data table using selected columns
        参数:
        cols - The columns
        返回:
        Selected data table
        抛出:
        java.lang.Exception
      • sqlSelect

        public DataTable sqlSelect​(java.lang.String expression)
        Select and form a new data table
        参数:
        expression - SQL expression
        返回:
        Selected data table
      • max

        public java.lang.Object max​(java.lang.String columns,
                                    java.lang.String filter)
      • min

        public java.lang.Object min​(java.lang.String columns,
                                    java.lang.String filter)
      • avg

        public java.lang.Object avg​(java.lang.String columns,
                                    java.lang.String filter)
      • max

        public java.lang.Object max​(java.lang.String columns,
                                    java.lang.String filter,
                                    java.lang.String groupBy)
      • min

        public java.lang.Object min​(java.lang.String columns,
                                    java.lang.String filter,
                                    java.lang.String groupBy)
      • avg

        public java.lang.Object avg​(java.lang.String columns,
                                    java.lang.String filter,
                                    java.lang.String groupBy)
      • clone

        public java.lang.Object clone()
        Clone
        覆盖:
        clone 在类中 java.lang.Object
        返回:
        Cloned DataTable object
      • cloneTable_Field

        public DataTable cloneTable_Field()
        Clone table - Vectorlayer with fields
        返回:
        DataTable
      • head

        public java.lang.String head​(int n)
        Convert to string - head
        参数:
        n - Head row number
        返回:
        The string
      • tail

        public java.lang.String tail​(int n)
        Convert to string - tail
        参数:
        n - Tail row number
        返回:
        The string
      • toString

        public java.lang.String toString()
        Convert to string
        覆盖:
        toString 在类中 java.lang.Object
        返回:
        The string
      • toString

        public java.lang.String toString​(java.lang.String dateFormat)
        Convert to string
        参数:
        dateFormat - Date format string
        返回:
        The string
      • toString

        public java.lang.String toString​(int decimalNum)
        Convert to string
        参数:
        decimalNum - Decimal number
        返回:
        The string
      • toString

        public java.lang.String toString​(java.lang.String dateFormat,
                                         int decimalNum)
        Convert to string
        参数:
        dateFormat - Date format string
        decimalNum - Decimal number
        返回:
        The string
      • saveAsCSVFile

        public void saveAsCSVFile​(java.lang.String fileName)
                           throws java.io.IOException
        Save as csv file
        参数:
        fileName - File name
        抛出:
        java.io.IOException
      • saveAsCSVFile

        public void saveAsCSVFile​(java.lang.String fileName,
                                  java.lang.String format)
                           throws java.io.IOException
        Save as csv file
        参数:
        fileName - File name
        format - Format string
        抛出:
        java.io.IOException
      • saveAsASCIIFile

        public void saveAsASCIIFile​(java.lang.String fileName)
                             throws java.io.IOException
        Save as ASCII file
        参数:
        fileName - File name
        抛出:
        java.io.IOException
      • saveAsASCIIFile

        public void saveAsASCIIFile​(java.lang.String fileName,
                                    java.lang.String delimiter,
                                    java.lang.String dateFormat,
                                    java.lang.String floatFormat)
                             throws java.io.IOException
        Save as ASCII file
        参数:
        fileName - File name
        delimiter - Delimiter
        dateFormat - Date format string
        floatFormat - Float format string
        抛出:
        java.io.IOException
      • saveAsASCIIFile_format

        public void saveAsASCIIFile_format​(java.lang.String fileName,
                                           java.lang.String format)
                                    throws java.io.IOException
        Save as ASCII file
        参数:
        fileName - File name
        format - Format string
        抛出:
        java.io.IOException
      • join

        public void join​(DataTable dataTable,
                         java.lang.String colName)
        Join data table
        参数:
        dataTable - The input data table
        colName - The column name for join
      • join

        public void join​(DataTable dataTable,
                         java.lang.String colName,
                         boolean isUpdate)
        Join data table
        参数:
        dataTable - The input data table
        colName - The column name for join
        isUpdate - If update the existing values with same column name
      • join

        public void join​(DataTable dataTable,
                         java.lang.String colName_this,
                         java.lang.String colName_in,
                         boolean isUpdate)
        Join data table
        参数:
        dataTable - The input data table
        colName_this - The column name of this data table for join
        colName_in - The column name of the input data table for join
        isUpdate - If update the existing values with same column name
      • removeJoin

        public void removeJoin()
        Remove joined data columns