com.carrotsearch.hppcrt.ObjectIntMap Maven / Gradle / Ivy
package com.carrotsearch.hppcrt;
import com.carrotsearch.hppcrt.cursors.ObjectIntCursor;
/**
* 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 ObjectIntMap
extends ObjectIntAssociativeContainer
{
/**
* 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.
*/
int put(KType key, int 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 KType key, final int value);
/**
* If key
exists, putValue
is inserted into the map,
* otherwise any existing value is incremented by additionValue
.
*
* @param key
* The key of the value to adjust.
* @param putValue
* The value to put if key
does not exist.
* @param incrementValue
* The value to add to the existing value if key
exists.
* @return Returns the current value associated with key
(after
* changes).
*/
int putOrAdd(KType key, int putValue, int additionValue);
/**
* An equivalent of calling
*
*
* putOrAdd(key, additionValue, additionValue);
*
*
* @param key
* The key of the value to adjust.
* @param additionValue
* The value to put or add to the existing value if key
* exists.
* @return Returns the current value associated with key
(after
* changes).
*/
int addTo(KType key, int additionValue);
/**
* @return Returns the value associated with the given key, or the default value
* if the key is not associated with any value.
*
*/
int get(KType 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(ObjectIntAssociativeContainer extends KType> 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 ObjectIntCursor extends KType>> 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
*/
int remove(KType key);
/**
* Clear all keys and values in the container.
*/
void clear();
/**
* Returns the "default value" value used in containers methods returning
* "default value"
*/
int getDefaultValue();
/**
* Set the "default value" value to be used in containers methods returning
* "default value"
*/
void setDefaultValue(final int defaultValue);
}