ObjByteMap m2 = (ObjByteMap) another; if ( m2.keyEquivalence().equals(map.keyEquivalence()) if (map.size() < m2.size()) return false; if (m2 instanceof InternalObjByteMapOps) { return m2.forEachWhile(new ObjBytePredicate() { @Override
public static <K> void putAll(final InternalObjByteMapOps<K> map, Map<? extends K, ? extends Byte> another) { if (map == another) throw new IllegalArgumentException(); long maxPossibleSize = map.sizeAsLong() + Containers.sizeAsLong(another); map.ensureCapacity(maxPossibleSize); if (another instanceof ObjByteMap) { if (another instanceof InternalObjByteMapOps) { ((InternalObjByteMapOps) another).reversePutAllTo(map); } else { ((ObjByteMap) another).forEach(new ObjByteConsumer<K>() { @Override public void accept(K key, byte value) { map.justPut(key, value); } }); } } else { for (Map.Entry<? extends K, ? extends Byte> e : another.entrySet()) { map.justPut(e.getKey(), e.getValue()); } } }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( Map<? extends K2, Byte> map, int expectedSize) { if (map instanceof ObjByteMap) { @SuppressWarnings("unchecked") ObjByteMap<K2> objByteMap = (ObjByteMap<K2>) map; if (map instanceof SeparateKVObjByteLHash) { SeparateKVObjByteLHash hash = (SeparateKVObjByteLHash) map; if (hash.hashConfig().equals(hashConf) && objByteMap.keyEquivalence().equals(getKeyEquivalence())) { UpdatableLHashSeparateKVObjByteMapGO<K2> res = uninitializedUpdatableMap(); res.copy(hash); return res; } } UpdatableLHashSeparateKVObjByteMapGO<K2> res = newUpdatableMap(expectedSize); res.putAll(map); return res; } else { UpdatableLHashSeparateKVObjByteMapGO<K2> res = newUpdatableMap(expectedSize); for (Map.Entry<? extends K2, Byte> entry : map.entrySet()) { res.put(entry.getKey(), entry.getValue()); } return res; } } }
@Override @Nonnull public <K2 extends K> UpdatableQHashSeparateKVObjByteMapGO<K2> newUpdatableMap( Map<? extends K2, Byte> map, int expectedSize) { if (map instanceof ObjByteMap) { @SuppressWarnings("unchecked") ObjByteMap<K2> objByteMap = (ObjByteMap<K2>) map; if (map instanceof SeparateKVObjByteQHash) { SeparateKVObjByteQHash hash = (SeparateKVObjByteQHash) map; if (hash.hashConfig().equals(hashConf) && objByteMap.keyEquivalence().equals(getKeyEquivalence())) { UpdatableQHashSeparateKVObjByteMapGO<K2> res = uninitializedUpdatableMap(); res.copy(hash); return res; } } UpdatableQHashSeparateKVObjByteMapGO<K2> res = newUpdatableMap(expectedSize); res.putAll(map); return res; } else { UpdatableQHashSeparateKVObjByteMapGO<K2> res = newUpdatableMap(expectedSize); for (Map.Entry<? extends K2, Byte> entry : map.entrySet()) { res.put(entry.getKey(), entry.getValue()); } return res; } } }
ObjByteMap m2 = (ObjByteMap) another; if ( m2.keyEquivalence().equals(map.keyEquivalence()) if (map.size() < m2.size()) return false; if (m2 instanceof InternalObjByteMapOps) { return m2.forEachWhile(new ObjBytePredicate() { @Override
@Override @Nonnull public <K2 extends K> UpdatableQHashSeparateKVObjByteMapGO<K2> newUpdatableMap( Map<? extends K2, Byte> map, int expectedSize) { if (map instanceof ObjByteMap) { @SuppressWarnings("unchecked") ObjByteMap<K2> objByteMap = (ObjByteMap<K2>) map; if (map instanceof SeparateKVObjByteQHash) { SeparateKVObjByteQHash hash = (SeparateKVObjByteQHash) map; if (hash.hashConfig().equals(hashConf) && objByteMap.keyEquivalence().equals(getKeyEquivalence())) { UpdatableQHashSeparateKVObjByteMapGO<K2> res = uninitializedUpdatableMap(); res.copy(hash); return res; } } UpdatableQHashSeparateKVObjByteMapGO<K2> res = newUpdatableMap(expectedSize); res.putAll(map); return res; } else { UpdatableQHashSeparateKVObjByteMapGO<K2> res = newUpdatableMap(expectedSize); for (Map.Entry<? extends K2, Byte> entry : map.entrySet()) { res.put(entry.getKey(), entry.getValue()); } return res; } } }
public static <K> void putAll(final InternalObjByteMapOps<K> map, Map<? extends K, ? extends Byte> another) { if (map == another) throw new IllegalArgumentException(); long maxPossibleSize = map.sizeAsLong() + Containers.sizeAsLong(another); map.ensureCapacity(maxPossibleSize); if (another instanceof ObjByteMap) { if (another instanceof InternalObjByteMapOps) { ((InternalObjByteMapOps) another).reversePutAllTo(map); } else { ((ObjByteMap) another).forEach(new ObjByteConsumer<K>() { @Override public void accept(K key, byte value) { map.justPut(key, value); } }); } } else { for (Map.Entry<? extends K, ? extends Byte> e : another.entrySet()) { map.justPut(e.getKey(), e.getValue()); } } }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( Map<? extends K2, Byte> map, int expectedSize) { if (map instanceof ObjByteMap) { @SuppressWarnings("unchecked") ObjByteMap<K2> objByteMap = (ObjByteMap<K2>) map; if (map instanceof SeparateKVObjByteLHash) { SeparateKVObjByteLHash hash = (SeparateKVObjByteLHash) map; if (hash.hashConfig().equals(hashConf) && objByteMap.keyEquivalence().equals(getKeyEquivalence())) { UpdatableLHashSeparateKVObjByteMapGO<K2> res = uninitializedUpdatableMap(); res.copy(hash); return res; } } UpdatableLHashSeparateKVObjByteMapGO<K2> res = newUpdatableMap(expectedSize); res.putAll(map); return res; } else { UpdatableLHashSeparateKVObjByteMapGO<K2> res = newUpdatableMap(expectedSize); for (Map.Entry<? extends K2, Byte> entry : map.entrySet()) { res.put(entry.getKey(), entry.getValue()); } return res; } } }