@Override public boolean addAll(final IntCollection c) { synchronized (sync) { return collection.addAll(c); } } @Override
@Override public boolean addAll(final Collection<? extends Integer> c) { synchronized (sync) { return collection.addAll(c); } } @Override
@Override public void putAll(final Map<? extends K, ? extends C> m) { decorated.putAll(m); for (final C coll : m.values()) { allValues.addAll(coll); } }
/** * Adds values for a given key. * * @param key * The key to add the new values to. * @param values * The values to add. * @return {@code true} if at least one value was successfully added. */ public boolean putValues(final K key, final IntCollection values) { final C keyValues = getValues(key); final boolean result = keyValues.addAll(values); if (result) { allValues.addAll(values); } return result; }
@Override public C put(final K key, final C value) { final C result = decorated.put(key, value); if (result != null) { allValues.removeAll(result); } allValues.addAll(value); return result; }