void (int key, int value) { int removeIndex = -1; int[] values = myKeyToArrayMap.get(key); if (values == null) return; for (int i = 0; i < values.length; i++) { if (values[i] == value) { removeIndex = i; break; } } if (removeIndex == -1) return; if (values.length == 1) { myKeyToArrayMap.remove(key); return; } int[] newValues = new int[values.length - 1]; for (int i = 0; i < newValues.length; i++) { if (i >= removeIndex) { newValues[i] = values[i + 1]; } else { newValues[i] = values[i]; } } myKeyToArrayMap.put(key, newValues); }