/** * {@inheritDoc} * * @see java.util.Collection#toArray(java.lang.Object[]) */ public Object[] toArray(final Object[] a) { Object[] result = a; if (result.length < _entries) { result = (Object[]) java.lang.reflect.Array.newInstance(result.getClass().getComponentType(), _entries); } int j = 0; for (int i = 0; i < _capacity; i++) { Entry entry = _buckets[i]; while (entry != null) { result[j++] = entry.getKey(); entry = entry.getNext(); } } while (j < result.length) { result[j++] = null; } return result; }
/** * {@inheritDoc} * * @see java.util.Collection#contains(java.lang.Object) */ public boolean contains(final Object key) { int hash = System.identityHashCode(key); int index = hash % _capacity; if (index < 0) { index = -index; } Entry entry = _buckets[index]; while (entry != null) { if (entry.getKey() == key) { return true; } entry = entry.getNext(); } return false; }
/** * {@inheritDoc} * * @see java.util.Collection#toArray() */ public Object[] toArray() { Object[] result = new Object[_entries]; int j = 0; for (int i = 0; i < _capacity; i++) { Entry entry = _buckets[i]; while (entry != null) { result[j++] = entry.getKey(); entry = entry.getNext(); } } return result; }