com.carrotsearch.hppc.ObjectFloatIdentityHashMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of driver-cql-shaded Show documentation
Show all versions of driver-cql-shaded Show documentation
A Shaded CQL ActivityType driver for http://nosqlbench.io/
package com.carrotsearch.hppc;
/* */
import static com.carrotsearch.hppc.Containers.*;
import static com.carrotsearch.hppc.HashContainers.*;
/**
* An identity hash map of Object
to float
.
*/
@SuppressWarnings("all")
@javax.annotation.Generated(
date = "2015-05-07T09:33:03+0200",
value = "KTypeVTypeIdentityHashMap.java")
public class ObjectFloatIdentityHashMap
extends ObjectFloatHashMap
{
/**
* New instance with sane defaults.
*/
public ObjectFloatIdentityHashMap() {
this(DEFAULT_EXPECTED_ELEMENTS);
}
/**
* New instance with sane defaults.
* @param expectedElements
* The expected number of elements guaranteed not to cause buffer
* expansion (inclusive).
*/
public ObjectFloatIdentityHashMap(int expectedElements) {
this(expectedElements, DEFAULT_LOAD_FACTOR);
}
/**
* New instance with sane defaults.
*
* @param expectedElements
* The expected number of elements guaranteed not to cause buffer
* expansion (inclusive).
* @param loadFactor
* The load factor for internal buffers. Insane load factors (zero, full capacity)
* are rejected by {@link #verifyLoadFactor(double)}.
*/
public ObjectFloatIdentityHashMap(int expectedElements, double loadFactor) {
this(expectedElements, loadFactor, HashOrderMixing.randomized());
}
/**
* New instance with the provided defaults.
*
* @param expectedElements
* The expected number of elements guaranteed not to cause a rehash (inclusive).
* @param loadFactor
* The load factor for internal buffers. Insane load factors (zero, full capacity)
* are rejected by {@link #verifyLoadFactor(double)}.
* @param orderMixer
* Hash key order mixing strategy. See {@link HashOrderMixing} for predefined
* implementations. Use constant mixers only if you understand the potential
* consequences.
*/
public ObjectFloatIdentityHashMap(int expectedElements, double loadFactor, HashOrderMixingStrategy orderMixer) {
this.orderMixer = orderMixer;
this.loadFactor = verifyLoadFactor(loadFactor);
ensureCapacity(expectedElements);
}
/**
* Create a hash map from all key-value pairs of another container.
*/
public ObjectFloatIdentityHashMap(ObjectFloatAssociativeContainer extends KType> container) {
this(container.size());
putAll(container);
}
@Override
public int hashKey(KType key) {
assert !((key) == null); // Handled as a special case (empty slot marker).
return BitMixer.mix(System.identityHashCode(key), this.keyMixer);
}
@Override
public boolean equals(Object v1, Object v2) {
return v1 == v2;
}
/* */
/**
* Creates a hash map from two index-aligned arrays of key-value pairs.
*/
public static ObjectFloatIdentityHashMap from(KType[] keys, float[] values) {
if (keys.length != values.length) {
throw new IllegalArgumentException("Arrays of keys and values must have an identical length.");
}
ObjectFloatIdentityHashMap map = new ObjectFloatIdentityHashMap<>(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