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

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

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

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

/**
 * Same as {@link IntDoubleHashMap} 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.

*/ @com.carrotsearch.hppc.Generated( date = "2018-05-21T12:24:06+0200", value = "KTypeVTypeScatterMap.java") public class IntDoubleScatterMap extends IntDoubleHashMap { /** * New instance with sane defaults. */ public IntDoubleScatterMap() { this(DEFAULT_EXPECTED_ELEMENTS); } /** * New instance with sane defaults. */ public IntDoubleScatterMap(int expectedElements) { this(expectedElements, DEFAULT_LOAD_FACTOR); } /** * New instance with sane defaults. */ @SuppressWarnings("deprecation") public IntDoubleScatterMap(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 IntDoubleScatterMap from(int[] keys, double[] values) { if (keys.length != values.length) { throw new IllegalArgumentException("Arrays of keys and values must have an identical length."); } IntDoubleScatterMap map = new IntDoubleScatterMap(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