public static <T> IntObjHppcOpenHashMap<T> createFrom(IntIterable keys, Iterable<T> values) { int keysSize = (keys instanceof IntSizedIterable) ? ((IntSizedIterable) keys).size() : 0; int valuesSize = (values instanceof Collection) ? ((Collection) keys).size() : 0; float loadFactor = IntIntOpenHashMap.DEFAULT_LOAD_FACTOR; int initialCapacity = (int)(Math.max(keysSize, valuesSize) / loadFactor) + 1; IntObjHppcOpenHashMap map = new IntObjHppcOpenHashMap(initialCapacity); IntIterator keysIt = keys.iterator(); Iterator valuesIt = values.iterator(); map.putAll(IntObjIterators.pair(keysIt, valuesIt)); if (keysIt.hasNext() || valuesIt.hasNext()) { throw new IllegalArgumentException("keys.size() != values.size()"); } return map; }
public static IntIntHppcOpenHashMap createFrom(IntIterable keys, IntIterable values) { int keysSize = IntCollections.sizeOfIterable(keys, 0); int valuesSize = IntCollections.sizeOfIterable(values, 0); if (keysSize != valuesSize) { throw new IllegalArgumentException("keys.size() != values.size()"); } else { keysSize = Math.max(keysSize, valuesSize); } float loadFactor = IntIntOpenHashMap.DEFAULT_LOAD_FACTOR; int initialCapacity = (int)(keysSize / loadFactor) + 1; IntIntHppcOpenHashMap map = new IntIntHppcOpenHashMap(initialCapacity); IntIterator keysIt = keys.iterator(); IntIterator valuesIt = values.iterator(); map.putAll(IntIntIterators.pair(keysIt, valuesIt)); if (keysIt.hasNext() || valuesIt.hasNext()) { throw new IllegalArgumentException("keys.size() != values.size()"); } return map; }
@Override public void putAllKeys(LongIterable keys, IntIterable values) { final IntIterator it = values.iterator(); myMap.putAllKeys(keys, new Iterable<Integer>() { @Override public Iterator<Integer> iterator() { return new Iterator<Integer>() { @Override public boolean hasNext() { return it.hasNext(); } @Override public Integer next() { return it.nextValue(); } @Override public void remove() { throw new UnsupportedOperationException(); } }; } }); }
public static IntLongHppcOpenHashMap createFrom(IntIterable keys, LongIterable values) { int keysSize = IntCollections.sizeOfIterable(keys, 0); int valuesSize = LongCollections.sizeOfIterable(values, 0); if (keysSize != valuesSize) { throw new IllegalArgumentException("keys.size() != values.size()"); } else { keysSize = Math.max(keysSize, valuesSize); } float loadFactor = IntLongOpenHashMap.DEFAULT_LOAD_FACTOR; int initialCapacity = (int)(keysSize / loadFactor) + 1; IntLongHppcOpenHashMap map = new IntLongHppcOpenHashMap(initialCapacity); IntIterator keysIt = keys.iterator(); LongIterator valuesIt = values.iterator(); map.putAll(IntLongIterators.pair(keysIt, valuesIt)); if (keysIt.hasNext() || valuesIt.hasNext()) { throw new IllegalArgumentException("keys.size() != values.size()"); } return map; }
public static LongIntHppcOpenHashMap createFrom(LongIterable keys, IntIterable values) { int keysSize = LongCollections.sizeOfIterable(keys, 0); int valuesSize = IntCollections.sizeOfIterable(values, 0); if (keysSize != valuesSize) { throw new IllegalArgumentException("keys.size() != values.size()"); } else { keysSize = Math.max(keysSize, valuesSize); } float loadFactor = LongIntOpenHashMap.DEFAULT_LOAD_FACTOR; int initialCapacity = (int)(keysSize / loadFactor) + 1; LongIntHppcOpenHashMap map = new LongIntHppcOpenHashMap(initialCapacity); LongIterator keysIt = keys.iterator(); IntIterator valuesIt = values.iterator(); map.putAll(LongIntIterators.pair(keysIt, valuesIt)); if (keysIt.hasNext() || valuesIt.hasNext()) { throw new IllegalArgumentException("keys.size() != values.size()"); } return map; }