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 void inreaseByOne( final int x, final int y ) {
39 final public String getLabel( final int x ) {
43 final public void setLabel( final int x, final String label ) {
44 if ( label == null ) {
45 throw new IllegalArgumentException( "matrix label must not be null" );
50 final public int size() {
51 return _labels.length;
55 public String toString() {
56 final StringBuilder sb = new StringBuilder();
57 for( int x = 0; x < size(); ++x ) {
58 if ( getLabel( x ) != null ) {
59 sb.append( getLabel( x ) );
62 for( int y = 0; y < size(); ++y ) {
63 sb.append( get( x, y ) );
66 sb.append( ForesterUtil.LINE_SEPARATOR );