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

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

Go to download

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.

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

import java.util.Iterator;

import com.carrotsearch.hppc.cursors.*;
import com.carrotsearch.hppc.predicates.*;
import com.carrotsearch.hppc.procedures.*;

/**
 * An associative container from keys to (one or
 * possibly more) values.
 * 
 * @see IntContainer
 */
 @com.carrotsearch.hppc.Generated(
    date = "2018-05-21T12:24:05+0200",
    value = "KTypeVTypeAssociativeContainer.java") 
public interface IntLongAssociativeContainer 
    extends Iterable
{
  /**
   * Returns a cursor over the entries (key-value pairs) in this map. The
   * iterator is implemented as a cursor and it returns the same cursor
   * instance on every call to {@link Iterator#next()}. To read the current
   * key and value use the cursor's public fields. An example is shown below.
   * 
   * 
   * for (IntShortCursor c : intShortMap) {
   *   System.out.println("index=" + c.index + " key=" + c.key + " value=" + c.value);
   * }
* *

* The index field inside the cursor gives the internal index * inside the container's implementation. The interpretation of this index * depends on to the container. */ @Override public Iterator iterator(); /** * Returns true if this container has an association to a value * for the given key. */ public boolean containsKey(int key); /** * @return Returns the current size (number of assigned keys) in the * container. */ public int size(); /** * @return Return true if this hash map contains no assigned * keys. */ public boolean isEmpty(); /** * Removes all keys (and associated values) present in a given container. An * alias to: * *

   * keys().removeAll(container)
   * 
* * but with no additional overhead. * * @return Returns the number of elements actually removed as a result of this * call. */ public int removeAll(IntContainer container); /** * Removes all keys (and associated values) for which the predicate returns * true. * * @return Returns the number of elements actually removed as a result of this * call. */ public int removeAll(IntPredicate predicate); /** * Removes all keys (and associated values) for which the predicate returns * true. * * @return Returns the number of elements actually removed as a result of this * call. */ public int removeAll(IntLongPredicate predicate); /** * Applies a given procedure to all keys-value pairs in this container. * Returns the argument (any subclass of {@link IntLongProcedure}. This * lets the caller to call methods of the argument by chaining the call (even * if the argument is an anonymous type) to retrieve computed values, for * example. */ public T forEach(T procedure); /** * Applies a given predicate to all keys-value pairs in this container. * Returns the argument (any subclass of {@link IntLongPredicate}. This * lets the caller to call methods of the argument by chaining the call (even * if the argument is an anonymous type) to retrieve computed values, for * example. * * The iteration is continued as long as the predicate returns * true. */ public T forEach(T predicate); /** * Returns a collection of keys of this container. The returned collection is * a view over the key set and any modifications (if allowed) introduced to * the collection will propagate to the associative container immediately. */ public IntCollection keys(); /** * Returns a container view of all values present in this container. The * returned collection is a view over the key set and any modifications (if * allowed) introduced to the collection will propagate to the associative * container immediately. */ public LongContainer values(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy