public void append(int key,char value){
  if (mSize != 0 && key <= mKeys[mSize - 1]) {
    put(key,value);
    return;
  }
  int pos=mSize;
  if (pos >= mKeys.length) {
    int n=ArrayUtils.idealIntArraySize(pos + 1);
    int[] nkeys=new int[n];
    char[] nvalues=new char[n];
    System.arraycopy(mKeys,0,nkeys,0,mKeys.length);
    System.arraycopy(mValues,0,nvalues,0,mValues.length);
    mKeys=nkeys;
    mValues=nvalues;
  }
  mKeys[pos]=key;
  mValues[pos]=value;
  mSize=pos + 1;
}

public void append ( int key , char value ) { if ( mSize != 0 && key <= mKeys [ mSize - 1 ] ) { put ( key , value ) ; return ; } int pos = mSize ; if ( pos >= mKeys . length ) { int n = ArrayUtils . idealIntArraySize ( pos + 1 ) ; int [ ] nkeys = new int [ n ] ; char [ ] nvalues = new char [ n ] ; System . arraycopy ( mKeys , 0 , nkeys , 0 , mKeys . length ) ; System . arraycopy ( mValues , 0 , nvalues , 0 , mValues . length ) ; mKeys = nkeys ; mValues = nvalues ; } mKeys [ pos ] = key ; mValues [ pos ] = value ; mSize = pos + 1 ; }
puts a key / value pair into the array , optimizing for the case where the key is greater than all existing keys in the array .
