View Javadoc

    1   package baseCode.dataStructure.matrix;
    2
    3   import cern.colt.matrix.ObjectMatrix1D;
    4   import cern.colt.matrix.impl.DenseObjectMatrix2D;
    5
    6   /***
    7    * A NamedMatrix containing String objects.
    8    * <p>
    9    * Copyright (c) 2004
    10   * </p>
    11   * <p>
    12   * Institution: Columbia University
    13   * </p>
    14   *
    15   * @author Paul Pavlidis
    16   * @version $Id: StringMatrix2DNamed.java,v 1.2 2004/07/27 03:18:58 pavlidis Exp $
    17   */
    18  public class StringMatrix2DNamed extends AbstractNamedMatrix {
    19
    20     private DenseObjectMatrix2D matrix;
    21
    22     public StringMatrix2DNamed( int x, int y ) {
    23        super();
    24        matrix = new DenseObjectMatrix2D( x, y );
    25     }
    26
    27     /***
    28      * @return java.lang.String
    29      */
    30     public String toString() {
    31        String result = "label";
    32        for ( int i = 0; i < columns(); i++ ) {
    33           result = result + "\t" + getColName( i );
    34        }
    35        result += "\n";
    36
    37        for ( int i = 0; i < rows(); i++ ) {
    38           result += getRowName( i );
    39           for ( int j = 0; j < columns(); j++ ) {
    40              result = result + "\t" + get( i, j );
    41           }
    42           result += "\n";
    43        }
    44        return result;
    45     }
    46
    47     public Object[] getRow( int row ) {
    48        return viewRow( row ).toArray();
    49     }
    50
    51     public Object[] getCol( int col ) {
    52        String[] result = new String[rows()];
    53        for ( int i = 0; i < rows(); i++ ) {
    54           result[i] = ( String ) get( i, col );
    55        }
    56        return result;
    57     }
    58
    59     public Object[] getRowObj( int row ) {
    60        String[] result = new String[columns()];
    61        for ( int i = 0; i < columns(); i++ ) {
    62           result[i] = ( String ) get( row, i );
    63        }
    64        return result;
    65     }
    66
    67     public Object[] getColObj( int col ) {
    68        String[] result = new String[rows()];
    69        for ( int i = 0; i < rows(); i++ ) {
    70           result[i] = ( String ) get( i, col );
    71        }
    72        return result;
    73     }
    74
    75     public boolean isMissing( int i, int j ) {
    76        return get( i, j ) == "";
    77     }
    78
    79     /***
    80      * @return
    81      */
    82     public int columns() {
    83        return matrix.columns();
    84     }
    85
    86     /***
    87      * @param row
    88      * @param column
    89      * @return
    90      */
    91     public Object get( int row, int column ) {
    92        return matrix.get( row, column );
    93     }
    94
    95     /***
    96      * @param row
    97      * @param column
    98      * @return
    99      */
    100    public Object getQuick( int row, int column ) {
    101       return matrix.getQuick( row, column );
    102    }
    103
    104    /***
    105     * @return
    106     */
    107    public int rows() {
    108       return matrix.rows();
    109    }
    110
    111    /***
    112     * @return
    113     */
    114    public int size() {
    115       return matrix.size();
    116    }
    117
    118    /***
    119     * @param column
    120     * @return
    121     */
    122    public ObjectMatrix1D viewColumn( int column ) {
    123       return matrix.viewColumn( column );
    124    }
    125
    126    /***
    127     * @param row
    128     * @return
    129     */
    130    public ObjectMatrix1D viewRow( int row ) {
    131       return matrix.viewRow( row );
    132    }
    133
    134    /***
    135     * @param row
    136     * @param column
    137     * @param value
    138     */
    139    public void set( int row, int column, Object value ) {
    140       matrix.set( row, column, value );
    141    }
    142
    143    /***
    144     * @param row
    145     * @param column
    146     * @param value
    147     */
    148    public void setQuick( int row, int column, Object value ) {
    149       matrix.setQuick( row, column, value );
    150    }
    151 }