com.carrotsearch.hppc.ShortFloatScatterMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hppc Show documentation
Show all versions of hppc Show documentation
High Performance Primitive Collections: data structures (maps, sets, lists, stacks, queues) generated for combinations of object and primitive types to conserve JVM memory and speed up execution.
package com.carrotsearch.hppc;
import static com.carrotsearch.hppc.Containers.*;
import static com.carrotsearch.hppc.HashContainers.*;
/**
* Same as {@link ShortFloatHashMap} 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 ShortFloatScatterMap extends ShortFloatHashMap
{
/**
* New instance with sane defaults.
*/
public ShortFloatScatterMap() {
this(DEFAULT_EXPECTED_ELEMENTS);
}
/**
* New instance with sane defaults.
*/
public ShortFloatScatterMap(int expectedElements) {
this(expectedElements, DEFAULT_LOAD_FACTOR);
}
/**
* New instance with sane defaults.
*/
@SuppressWarnings("deprecation")
public ShortFloatScatterMap(int expectedElements, double loadFactor) {
super(expectedElements, loadFactor, HashOrderMixing.none());
}
protected
int hashKey(short key) {
return BitMixer.mixPhi(key);
}
/**
* Creates a hash map from two index-aligned arrays of key-value pairs.
*/
public static ShortFloatScatterMap from(short[] keys, float[] values) {
if (keys.length != values.length) {
throw new IllegalArgumentException("Arrays of keys and values must have an identical length.");
}
ShortFloatScatterMap map = new ShortFloatScatterMap(keys.length);
for (int i = 0; i < keys.length; i++) {
map.put(keys[i], values[i]);
}
return map;
}
}