text: public virtual void put(int key, int value){int i = binarySearch(mKeys, 0, mSize, key);if (i >= 0){mValues[i] = value;}else{i = ~i;if (mSize >= mKeys.Length){int n = android.util.@internal.ArrayUtils.idealIntArraySize(mSize + 1);int[] nkeys = new int[n];int[] nvalues = new int[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++;}}