2 package org.forester.datastructures;
6 import org.forester.util.ForesterUtil;
8 public final class IntMatrix {
10 private final int _data[][];
11 private final String _labels[];
13 public IntMatrix( final int size ) {
14 _data = new int[ size ][ size ];
15 _labels = new String[ size ];
18 public IntMatrix( final List<String> labels ) {
19 final int size = labels.size();
20 _data = new int[ size ][ size ];
21 _labels = new String[ size ];
22 for( int i = 0; i < size; ++i ) {
23 setLabel( i, labels.get( i ) );
27 final public int get( final int x, final int y ) {
28 return _data[ x ][ y ];
31 final public void set( final int x, final int y, final int value ) {
32 _data[ x ][ y ] = value;
35 final public String getLabel( final int x ) {
39 final public void setLabel( final int x, final String label ) {
40 if ( label == null ) {
41 throw new IllegalArgumentException( "matrix label must not be null" );
46 final public int size() {
47 return _labels.length;
51 public String toString() {
52 final StringBuilder sb = new StringBuilder();
53 for( int x = 0; x < size(); ++x ) {
54 if ( getLabel( x ) != null ) {
55 sb.append( getLabel( x ) );
58 for( int y = 0; y < size(); ++y ) {
59 sb.append( get( x, y ) );
62 sb.append( ForesterUtil.LINE_SEPARATOR );