com.carrotsearch.hppcrt.ByteObjectMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hppcrt Show documentation
Show all versions of hppcrt Show documentation
High Performance Primitive Collections Realtime
(fork of HPPC from Carrotsearch)
Fundamental data structures (maps, sets, lists, queues, heaps, sorts) generated for
combinations of object and primitive types to conserve JVM memory and speed
up execution. The Realtime fork intends to extend the existing collections, by tweaking to remove any dynamic allocations at runtime,
and to obtain low variance execution times whatever the input nature.
The newest version!
package com.carrotsearch.hppcrt;
import com.carrotsearch.hppcrt.cursors.ByteObjectCursor;
/**
* An associative container with unique binding from keys to a single value.
*/
@javax.annotation.Generated(
date = "2017-07-11T19:16:24+0200",
value = "KTypeVTypeMap.java")
public interface ByteObjectMap
extends ByteObjectAssociativeContainer
{
/**
* Place a given key and value in the container.
* @return Returns the value previously stored under the given key, if an equal key is already in the map and replaces the existing
* value only with the argument value. If the given key was not already in the map,
* the given (key, value) pair is inserted in the map and the default value is returned.
*/
VType put(byte key, VType value);
/**
* Trove-inspired API method. An equivalent
* of the following code:
*
* if (!map.containsKey(key))
* map.put(key, value);
*
*
* @param key The key of the value to check.
* @param value The value to put if key
does not exist.
* @return true
if key
did not exist and value
* was placed in the map.
*/
boolean putIfAbsent(final byte key, final VType value);
/**
* @return Returns the value associated with the given key, or the default value
* if the key is not associated with any value.
*
*/
VType get(byte key);
/**
* Puts all keys from another container to this map, replacing the values
* of existing keys, if such keys are present.
*
* @return Returns the number of keys added to the map as a result of this
* call (not previously present in the map). Values of existing keys are overwritten.
*/
int putAll(ByteObjectAssociativeContainer extends VType> container);
/**
* Puts all keys from an iterable cursor to this map, replacing the values
* of existing keys, if such keys are present.
*
* @return Returns the number of keys added to the map as a result of this
* call (not previously present in the map). Values of existing keys are overwritten.
*/
int putAll(Iterable extends ByteObjectCursor extends VType>> iterable);
/**
* Remove the (key, value) pair associated with the given key, and returns the assocaited value.
* The default value is returned if the key did not exist in the map.
* @param key
*/
VType remove(byte key);
/**
* Clear all keys and values in the container.
*/
void clear();
/**
* Returns the "default value" value used in containers methods returning
* "default value"
*/
VType getDefaultValue();
/**
* Set the "default value" value to be used in containers methods returning
* "default value"
*/
void setDefaultValue(final VType defaultValue);
}