com.carrotsearch.hppc
Interface KTypeContainer<KType>

All Superinterfaces:
java.lang.Iterable<KTypeCursor<KType>>
All Known Subinterfaces:
KTypeCollection<KType>, KTypeDeque<KType>, KTypeIndexedContainer<KType>, KTypeLookupContainer<KType>, KTypeSet<KType>
All Known Implementing Classes:
KTypeArrayDeque, KTypeArrayList, KTypeOpenHashSet, KTypeStack, KTypeVTypeOpenHashMap.KeysContainer

public interface KTypeContainer<KType>
extends java.lang.Iterable<KTypeCursor<KType>>

A generic container holding KTypes. An overview of interface relationships is given in the figure below:

HPPC interfaces


Method Summary
 boolean contains(KType e)
          Lookup a given element in the container.
<T extends KTypePredicate<? super KType>>
T
forEach(T predicate)
          Applies a predicate to container elements as long, as the predicate returns true.
<T extends KTypeProcedure<? super KType>>
T
forEach(T procedure)
          Applies a procedure to all container elements.
 boolean isEmpty()
          Shortcut for size() == 0.
 java.util.Iterator<KTypeCursor<KType>> iterator()
          Returns an iterator to a cursor traversing the collection.
 int size()
          Return the current number of elements in this container.
 java.lang.Object[] toArray()
          Copies all elements from this container to an Object array.
 KType[] toArray(java.lang.Class<? super KType> clazz)
          Copies all elements from this container to an array of this container's component type.
 

Method Detail

iterator

java.util.Iterator<KTypeCursor<KType>> iterator()
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 (KTypeCursor<KType> c : container) {
   System.out.println("index=" + c.index + " value=" + c.value);
 }
 

Specified by:
iterator in interface java.lang.Iterable<KTypeCursor<KType>>

contains

boolean contains(KType e)
Lookup a given element in the container. This operation has no speed guarantees (may be linear with respect to the size of this container).

Returns:
Returns true if this container has an element equal to e.

size

int size()
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.


isEmpty

boolean isEmpty()
Shortcut for size() == 0.


toArray

KType[] toArray(java.lang.Class<? super KType> clazz)
Copies all elements from this container to an array of this container's component type. The returned array is always a copy, regardless of the storage used by the container.


toArray

java.lang.Object[] toArray()
Copies all elements from this container to an Object array. If you need an array of the type identical with this container's generic type, use toArray(Class).

See Also:
toArray(Class)

forEach

<T extends KTypeProcedure<? super KType>> T forEach(T procedure)
Applies a procedure to all container elements. Returns the argument (any subclass of KTypeProcedure. 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;
 


forEach

<T extends KTypePredicate<? super KType>> T forEach(T predicate)
Applies a predicate to container elements as long, as the predicate returns true. The iteration is interrupted otherwise.



Copyright © 2011 Carrot Search s.c.. All Rights Reserved.