@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMapOf( K2 k1, byte v1, K2 k2, byte v2, K2 k3, byte v3, K2 k4, byte v4) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(4); map.put(k1, v1); map.put(k2, v2); map.put(k3, v3); map.put(k4, v4); return map; }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( Map<? extends K2, Byte> map, int expectedSize) { if (map instanceof ObjByteMap) { // noinspection 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> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMapOf( K2 k1, byte v1, K2 k2, byte v2, K2 k3, byte v3, K2 k4, byte v4, K2 k5, byte v5) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(5); map.put(k1, v1); map.put(k2, v2); map.put(k3, v3); map.put(k4, v4); map.put(k5, v5); return map; }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( Map<? extends K2, Byte> map, int expectedSize) { if (map instanceof ObjByteMap) { // noinspection 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> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMapOf( K2 k1, byte v1, K2 k2, byte v2, K2 k3, byte v3, K2 k4, byte v4) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(4); map.put(k1, v1); map.put(k2, v2); map.put(k3, v3); map.put(k4, v4); return map; }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMapOf( K2 k1, byte v1, K2 k2, byte v2, K2 k3, byte v3, K2 k4, byte v4, K2 k5, byte v5) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(5); map.put(k1, v1); map.put(k2, v2); map.put(k3, v3); map.put(k4, v4); map.put(k5, v5); return map; }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMapOf( K2 k1, byte v1) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(1); map.put(k1, v1); return map; }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMapOf( K2 k1, byte v1) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(1); map.put(k1, v1); return map; }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( Iterable<? extends K2> keys, Iterable<Byte> values, int expectedSize) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(expectedSize); Iterator<? extends K2> keysIt = keys.iterator(); Iterator<Byte> valuesIt = values.iterator(); try { while (keysIt.hasNext()) { map.put(keysIt.next(), valuesIt.next()); } return shrunk(map); } catch (NoSuchElementException e) { throw new IllegalArgumentException( "keys and values iterables must have the same size", e); } }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( K2[] keys, byte[] values, int expectedSize) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(expectedSize); int keysLen = keys.length; if (keysLen != values.length) throw new IllegalArgumentException("keys and values arrays must have the same size"); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } return shrunk(map); }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( K2[] keys, Byte[] values, int expectedSize) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(expectedSize); int keysLen = keys.length; if (keysLen != values.length) throw new IllegalArgumentException("keys and values arrays must have the same size"); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } return shrunk(map); }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( K2[] keys, Byte[] values, int expectedSize) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(expectedSize); int keysLen = keys.length; if (keysLen != values.length) throw new IllegalArgumentException("keys and values arrays must have the same size"); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } return shrunk(map); }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( Iterable<? extends K2> keys, Iterable<Byte> values, int expectedSize) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(expectedSize); Iterator<? extends K2> keysIt = keys.iterator(); Iterator<Byte> valuesIt = values.iterator(); try { while (keysIt.hasNext()) { map.put(keysIt.next(), valuesIt.next()); } return shrunk(map); } catch (NoSuchElementException e) { throw new IllegalArgumentException( "keys and values iterables must have the same size", e); } }
@Override @Nonnull public <K2 extends K> UpdatableLHashSeparateKVObjByteMapGO<K2> newUpdatableMap( K2[] keys, byte[] values, int expectedSize) { UpdatableLHashSeparateKVObjByteMapGO<K2> map = newUpdatableMap(expectedSize); int keysLen = keys.length; if (keysLen != values.length) throw new IllegalArgumentException("keys and values arrays must have the same size"); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } return shrunk(map); }