public void put(int key, E value) {int i = binarySearch(mKeys, 0, mSize, key);if (i >= 0) {mValues[i] = value;} else {i = ~i;if (i < mSize && mValues[i] == DELETED) {mKeys[i] = key;mValues[i] = value;return;}if (mGarbage && mSize >= mKeys.length) {gc();i = ~binarySearch(mKeys, 0, mSize, key);}if (mSize >= mKeys.length) {int n = ArrayUtils.idealIntArraySize(mSize + 1);int[] nkeys = new int[n];Object[] nvalues = new Object[n];System.arraycopy(mKeys, 0, nkeys, 0, mKeys.length);System.arraycopy(mValues, 0, nvalues, 0, mValues.length);mKeys = nkeys;mValues = nvalues;}if (mSize - i != 0) {System.arraycopy(mKeys, i, mKeys, i + 1, mSize - i);System.arraycopy(mValues, i, mValues, i + 1, mSize - i);}mKeys[i] = key;mValues[i] = value;mSize++;}}

public void put ( int key , E value ) { int i = binarySearch ( mKeys , 0 , mSize , key ) ; if ( i >= 0 ) { mValues [ i ] = value ; } else { i = ~ i ; if ( i < mSize && mValues [ i ] == DELETED ) { mKeys [ i ] = key ; mValues [ i ] = value ; return ; } if ( mGarbage && mSize >= mKeys . length ) { gc ( ) ; i = ~ binarySearch ( mKeys , 0 , mSize , key ) ; } if ( mSize >= mKeys . length ) { int n = ArrayUtils . idealIntArraySize ( mSize + 1 ) ; int [ ] nkeys = new int [ n ] ; Object [ ] nvalues = new Object [ n ] ; System . arraycopy ( mKeys , 0 , nkeys , 0 , mKeys . length ) ; System . arraycopy ( mValues , 0 , nvalues , 0 , mValues . length ) ; mKeys = nkeys ; mValues = nvalues ; } if ( mSize - i != 0 ) { System . arraycopy ( mKeys , i , mKeys , i + 1 , mSize - i ) ; System . arraycopy ( mValues , i , mValues , i + 1 , mSize - i ) ; } mKeys [ i ] = key ; mValues [ i ] = value ; mSize ++ ; } }
public virtual void put(int key, E value){int i = binarySearch(mKeys, 0, mSize, key);if (i >= 0){mValues[i] = value;}else{i = ~i;if (i < mSize && mValues[i] == DELETED){mKeys[i] = key;mValues[i] = value;return;}if (mGarbage && mSize >= mKeys.Length){gc();i = ~binarySearch(mKeys, 0, mSize, key);}if (mSize >= mKeys.Length){int n = android.util.@internal.ArrayUtils.idealIntArraySize(mSize + 1);int[] nkeys = new int[n];object[] nvalues = new object[n];System.Array.Copy(mKeys, 0, nkeys, 0, mKeys.Length);System.Array.Copy(mValues, 0, nvalues, 0, mValues.Length);mKeys = nkeys;mValues = nvalues;}if (mSize - i != 0){System.Array.Copy(mKeys, i, mKeys, i + 1, mSize - i);System.Array.Copy(mValues, i, mValues, i + 1, mSize - i);}mKeys[i] = key;mValues[i] = value;mSize++;}}
