All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.carrotsearch.hppc.IntObjectScatterMap Maven / Gradle / Ivy

There is a newer version: 4.15.102
Show newest version
package com.carrotsearch.hppc;

import static com.carrotsearch.hppc.Containers.*;
import static com.carrotsearch.hppc.HashContainers.*;

/**
 * Same as {@link IntObjectHashMap} but does not implement per-instance
 * key mixing strategy and uses a simpler (faster) bit distribution function.
 * 
 * 

Note: read about * important differences * between hash and scatter sets.

*/ @javax.annotation.Generated( date = "2015-05-07T09:33:04+0200", value = "KTypeVTypeScatterMap.java") public class IntObjectScatterMap extends IntObjectHashMap { /** * New instance with sane defaults. */ public IntObjectScatterMap() { this(DEFAULT_EXPECTED_ELEMENTS); } /** * New instance with sane defaults. */ public IntObjectScatterMap(int expectedElements) { this(expectedElements, DEFAULT_LOAD_FACTOR); } /** * New instance with sane defaults. */ @SuppressWarnings("deprecation") public IntObjectScatterMap(int expectedElements, double loadFactor) { super(expectedElements, loadFactor, HashOrderMixing.none()); } protected int hashKey(int key) { return BitMixer.mixPhi(key); } /** * Creates a hash map from two index-aligned arrays of key-value pairs. */ public static IntObjectScatterMap from(int[] keys, VType[] values) { if (keys.length != values.length) { throw new IllegalArgumentException("Arrays of keys and values must have an identical length."); } IntObjectScatterMap map = new IntObjectScatterMap<>(keys.length); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } return map; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy