Class ObjectObjectHashMap.KeysContainer

java.lang.Object
com.carrotsearch.hppc.AbstractObjectCollection<KType>
com.carrotsearch.hppc.ObjectObjectHashMap.KeysContainer
All Implemented Interfaces:
ObjectCollection<KType>, ObjectContainer<KType>, ObjectLookupContainer<KType>, Iterable<ObjectCursor<KType>>
Enclosing class:
ObjectObjectHashMap<KType,VType>

public final class ObjectObjectHashMap.KeysContainer extends AbstractObjectCollection<KType> implements ObjectLookupContainer<KType>
A view of the keys inside this hash map.
  • Field Details

  • Constructor Details

    • KeysContainer

      public KeysContainer()
  • Method Details

    • contains

      public boolean contains(KType e)
      Description copied from interface: ObjectContainer
      Lookup a given element in the container. This operation has no speed guarantees (may be linear with respect to the size of this container).
      Specified by:
      contains in interface ObjectContainer<KType>
      Specified by:
      contains in interface ObjectLookupContainer<KType>
      Returns:
      Returns true if this container has an element equal to e.
    • forEach

      public <T extends ObjectProcedure<? super KType>> T forEach(T procedure)
      Description copied from interface: ObjectContainer
      Applies a procedure to all container elements. Returns the argument (any subclass of ObjectProcedure. 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 (IntContainer):
       int count = container.forEach(new IntProcedure() {
         int count; // this is a field declaration in an anonymous class.
       
         public void apply(int value) {
           count++;
         }
       }).count;
       
      Specified by:
      forEach in interface ObjectContainer<KType>
    • forEach

      public <T extends ObjectPredicate<? super KType>> T forEach(T predicate)
      Description copied from interface: ObjectContainer
      Applies a predicate to container elements as long, as the predicate returns true. The iteration is interrupted otherwise.
      Specified by:
      forEach in interface ObjectContainer<KType>
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: ObjectContainer
      Shortcut for size() == 0.
      Specified by:
      isEmpty in interface ObjectContainer<KType>
    • iterator

      public Iterator<ObjectCursor<KType>> iterator()
      Description copied from interface: ObjectContainer
      Returns an iterator to a cursor traversing the collection. The order of traversal is not defined. More than one cursor may be active at a time. The behavior of iterators is undefined if structural changes are made to the underlying collection.

      The iterator is implemented as a cursor and it returns the same cursor instance on every call to Iterator.next() (to avoid boxing of primitive types). To read the current list's value (or index in the list) use the cursor's public fields. An example is shown below.

       for (ObjectCursor<Object> c : container) {
         System.out.println("index=" + c.index + " value=" + c.value);
       }
       
      Specified by:
      iterator in interface Iterable<ObjectCursor<KType>>
      Specified by:
      iterator in interface ObjectContainer<KType>
    • size

      public int size()
      Description copied from interface: ObjectContainer
      Return the current number of elements in this container. The time for calculating the container's size may take O(n) time, although implementing classes should try to maintain the current size and return in constant time.
      Specified by:
      size in interface ObjectContainer<KType>
    • clear

      public void clear()
      Description copied from interface: ObjectCollection
      Removes all elements from this collection.
      Specified by:
      clear in interface ObjectCollection<KType>
      See Also:
    • release

      public void release()
      Description copied from interface: ObjectCollection
      Removes all elements from the collection and additionally releases any internal buffers. Typically, if the object is to be reused, a simple ObjectCollection.clear() should be a better alternative since it'll avoid reallocation.
      Specified by:
      release in interface ObjectCollection<KType>
      See Also:
    • removeAll

      public int removeAll(ObjectPredicate<? super KType> predicate)
      Description copied from interface: ObjectCollection
      Removes all elements in this collection for which the given predicate returns true.
      Specified by:
      removeAll in interface ObjectCollection<KType>
      Returns:
      Returns the number of removed elements.
    • removeAll

      public int removeAll(KType e)
      Description copied from interface: ObjectCollection
      Removes all occurrences of e from this collection.
      Specified by:
      removeAll in interface ObjectCollection<KType>
      Parameters:
      e - Element to be removed from this collection, if present.
      Returns:
      The number of removed elements as a result of this call.