/** * Returns a hash code for this map. * * The hash code of a map is computed by summing the hash codes of its entries. * * @return a hash code for this map. */ @Override public int hashCode() { int h = 0, n = size(); final ObjectIterator<Object2IntMap.Entry<K>> i = Object2IntMaps.fastIterator(this); while (n-- != 0) h += i.next().hashCode(); return h; } @Override
@Override public String toString() { final StringBuilder s = new StringBuilder(); final ObjectIterator<Object2IntMap.Entry<K>> i = Object2IntMaps.fastIterator(this); int n = size(); Object2IntMap.Entry<K> e; boolean first = true; s.append("{"); while (n-- != 0) { if (first) first = false; else s.append(", "); e = i.next(); if (this == e.getKey()) s.append("(this map)"); else s.append(String.valueOf(e.getKey())); s.append("=>"); s.append(String.valueOf(e.getIntValue())); } s.append("}"); return s.toString(); } }
/** {@inheritDoc} */ @SuppressWarnings({"unchecked", "deprecation"}) @Override public void putAll(final Map<? extends K, ? extends Integer> m) { if (m instanceof Object2IntMap) { ObjectIterator<Object2IntMap.Entry<K>> i = Object2IntMaps.fastIterator((Object2IntMap<K>) m); while (i.hasNext()) { final Object2IntMap.Entry<? extends K> e = i.next(); put(e.getKey(), e.getIntValue()); } } else { int n = m.size(); final Iterator<? extends Map.Entry<? extends K, ? extends Integer>> i = m.entrySet().iterator(); Map.Entry<? extends K, ? extends Integer> e; while (n-- != 0) { e = i.next(); put(e.getKey(), e.getValue()); } } } /**