/** {@inheritDoc} */ @Override public boolean equals(Object other) { if (!(other instanceof TShortShortMap)) { return false; } TShortShortMap that = (TShortShortMap) other; if (that.size() != this.size()) { return false; } short[] values = _values; byte[] states = _states; short this_no_entry_value = getNoEntryValue(); short that_no_entry_value = that.getNoEntryValue(); for (int i = values.length; i-- > 0; ) { if (states[i] == FULL) { short key = _set[i]; short that_value = that.get(key); short this_value = values[i]; if ((this_value != that_value) && (this_value != this_no_entry_value) && (that_value != that_no_entry_value)) { return false; } } } return true; }
/** {@inheritDoc} */ public void putAll(TShortShortMap map) { ensureCapacity(map.size()); TShortShortIterator iter = map.iterator(); while (iter.hasNext()) { iter.advance(); this.put(iter.key(), iter.value()); } }
/** * Creates a new <code>TShortShortHashMap</code> instance containing all of the entries in the map * passed in. * * @param map a <tt>TShortShortMap</tt> that will be duplicated. */ public TShortShortHashMap(TShortShortMap map) { super(map.size()); if (map instanceof TShortShortHashMap) { TShortShortHashMap hashmap = (TShortShortHashMap) map; this._loadFactor = hashmap._loadFactor; this.no_entry_key = hashmap.no_entry_key; this.no_entry_value = hashmap.no_entry_value; //noinspection RedundantCast if (this.no_entry_key != (short) 0) { Arrays.fill(_set, this.no_entry_key); } //noinspection RedundantCast if (this.no_entry_value != (short) 0) { Arrays.fill(_values, this.no_entry_value); } setUp((int) Math.ceil(DEFAULT_CAPACITY / _loadFactor)); } putAll(map); }