## org.apache.mahout.math.set
Class AbstractSet

    java.lang.Object
      org.apache.mahout.math.PersistentObject
          org.apache.mahout.math.set.AbstractSet

All Implemented Interfaces:
  Serializable, Cloneable

Direct Known Subclasses:
  AbstractByteByteMap, AbstractByteCharMap, AbstractByteDoubleMap, AbstractByteFloatMap, AbstractByteIntMap, AbstractByteLongMap, AbstractByteObjectMap, AbstractByteSet, AbstractByteShortMap, AbstractCharByteMap, AbstractCharCharMap, AbstractCharDoubleMap, AbstractCharFloatMap, AbstractCharIntMap, AbstractCharLongMap, AbstractCharObjectMap, AbstractCharSet, AbstractCharShortMap, AbstractDoubleByteMap, AbstractDoubleCharMap, AbstractDoubleDoubleMap, AbstractDoubleFloatMap, AbstractDoubleIntMap, AbstractDoubleLongMap, AbstractDoubleObjectMap, AbstractDoubleSet, AbstractDoubleShortMap, AbstractFloatByteMap, AbstractFloatCharMap, AbstractFloatDoubleMap, AbstractFloatFloatMap, AbstractFloatIntMap, AbstractFloatLongMap, AbstractFloatObjectMap, AbstractFloatSet, AbstractFloatShortMap, AbstractIntByteMap, AbstractIntCharMap, AbstractIntDoubleMap, AbstractIntFloatMap, AbstractIntIntMap, AbstractIntLongMap, AbstractIntObjectMap, AbstractIntSet, AbstractIntShortMap, AbstractLongByteMap, AbstractLongCharMap, AbstractLongDoubleMap, AbstractLongFloatMap, AbstractLongIntMap, AbstractLongLongMap, AbstractLongObjectMap, AbstractLongSet, AbstractLongShortMap, AbstractObjectByteMap, AbstractObjectCharMap, AbstractObjectDoubleMap, AbstractObjectFloatMap, AbstractObjectIntMap, AbstractObjectLongMap, AbstractObjectShortMap, AbstractShortByteMap, AbstractShortCharMap, AbstractShortDoubleMap, AbstractShortFloatMap, AbstractShortIntMap, AbstractShortLongMap, AbstractShortObjectMap, AbstractShortSet, AbstractShortShortMap, OpenHashMap, OpenHashSet

    public abstract class AbstractSet

extends PersistentObject

See Also:
  Serialized Form

Field Summary
`static int` `DEFAULT_CAPACITY`
`static double` `DEFAULT_MAX_LOAD_FACTOR`
`static double` `DEFAULT_MIN_LOAD_FACTOR`
`protected int` `distinct` The number of distinct associations in the map; its "size()".
`protected int` `highWaterMark`
`protected int` `lowWaterMark` The table capacity c=table.length always satisfies the invariant `c * minLoadFactor <= s <= c * maxLoadFactor`, where s=size() is the number of associations currently contained.
`protected double` `maxLoadFactor` The maximum load factor for the hashtable.
`protected double` `minLoadFactor` The minimum load factor for the hashtable.

Constructor Summary
`AbstractSet()`

Method Summary
`protected int` `chooseGrowCapacity(int size, double minLoad, double maxLoad)` Chooses a new prime table capacity optimized for growing that (approximately) satisfies the invariant `c * minLoadFactor <= size <= c * maxLoadFactor` and has at least one FREE slot for the given size.
`protected int` `chooseHighWaterMark(int capacity, double maxLoad)` Returns new high water mark threshold based on current capacity and maxLoadFactor.
`protected int` `chooseLowWaterMark(int capacity, double minLoad)` Returns new low water mark threshold based on current capacity and minLoadFactor.
`protected int` `chooseMeanCapacity(int size, double minLoad, double maxLoad)` Chooses a new prime table capacity neither favoring shrinking nor growing, that (approximately) satisfies the invariant `c * minLoadFactor <= size <= c * maxLoadFactor` and has at least one FREE slot for the given size.
`protected int` `chooseShrinkCapacity(int size, double minLoad, double maxLoad)` Chooses a new prime table capacity optimized for shrinking that (approximately) satisfies the invariant `c * minLoadFactor <= size <= c * maxLoadFactor` and has at least one FREE slot for the given size.
`abstract void` `clear()` Removes all (key,value) associations from the receiver.
`void` `ensureCapacity(int minCapacity)` Ensures that the receiver can hold at least the specified number of elements without needing to allocate new internal memory.
`protected static boolean` `equalsMindTheNull(Object a, Object b)`
`boolean` `isEmpty()` Returns `true` if the receiver contains no (key,value) associations.
`protected int` `nextPrime(int desiredCapacity)` Returns a prime number which is `>= desiredCapacity` and very close to `desiredCapacity` (within 11% if `desiredCapacity >= 1000`).
`protected void` `setUp(int initialCapacity, double minLoadFactor, double maxLoadFactor)` Initializes the receiver.
`int` `size()` Returns the number of (key,value) associations currently contained.
`void` `trimToSize()` Trims the capacity of the receiver to be the receiver's current size.

Methods inherited from class org.apache.mahout.math.PersistentObject
`clone`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### distinct

    protected int distinct

  The number of distinct associations in the map; its "size()".

### lowWaterMark

    protected int lowWaterMark

  The table capacity c=table.length always satisfies the invariant `c * minLoadFactor <= s <= c * maxLoadFactor`, where s=size() is the number of associations currently contained. The term "c * minLoadFactor" is called the "lowWaterMark", "c * maxLoadFactor" is called the "highWaterMark". In other words, the table capacity (and proportionally the memory used by this class) oscillates within these constraints. The terms are precomputed and cached to avoid recalculating them each time put(..) or removeKey(...) is called.

### highWaterMark

    protected int highWaterMark

### minLoadFactor

    protected double minLoadFactor

  The minimum load factor for the hashtable.

### maxLoadFactor

    protected double maxLoadFactor

  The maximum load factor for the hashtable.

### DEFAULT_CAPACITY

    public static final int DEFAULT_CAPACITY

See Also:
  Constant Field Values

### DEFAULT_MIN_LOAD_FACTOR

    public static final double DEFAULT_MIN_LOAD_FACTOR

See Also:
  Constant Field Values

### DEFAULT_MAX_LOAD_FACTOR

    public static final double DEFAULT_MAX_LOAD_FACTOR

See Also:
  Constant Field Values

Constructor Detail

### AbstractSet

    public AbstractSet()

Method Detail

### chooseGrowCapacity

    protected int chooseGrowCapacity(int size,
                                     double minLoad,
                                     double maxLoad)

  Chooses a new prime table capacity optimized for growing that (approximately) satisfies the invariant `c * minLoadFactor <= size <= c * maxLoadFactor` and has at least one FREE slot for the given size.

### chooseHighWaterMark

    protected int chooseHighWaterMark(int capacity,
                                      double maxLoad)

  Returns new high water mark threshold based on current capacity and maxLoadFactor.

  Returns:
    int the new threshold.

### chooseLowWaterMark

    protected int chooseLowWaterMark(int capacity,
                                     double minLoad)

  Returns new low water mark threshold based on current capacity and minLoadFactor.

  Returns:
    int the new threshold.

### chooseMeanCapacity

    protected int chooseMeanCapacity(int size,
                                     double minLoad,
                                     double maxLoad)

  Chooses a new prime table capacity neither favoring shrinking nor growing, that (approximately) satisfies the invariant `c * minLoadFactor <= size <= c * maxLoadFactor` and has at least one FREE slot for the given size.

### chooseShrinkCapacity

    protected int chooseShrinkCapacity(int size,
                                       double minLoad,
                                       double maxLoad)

  Chooses a new prime table capacity optimized for shrinking that (approximately) satisfies the invariant `c * minLoadFactor <= size <= c * maxLoadFactor` and has at least one FREE slot for the given size.

### clear

    public abstract void clear()

  Removes all (key,value) associations from the receiver.

### ensureCapacity

    public void ensureCapacity(int minCapacity)

  Ensures that the receiver can hold at least the specified number of elements without needing to allocate new internal memory. If necessary, allocates new internal memory and increases the capacity of the receiver.

  This method never need be called; it is for performance tuning only. Calling this method before `put()`ing a large number of associations boosts performance, because the receiver will grow only once instead of potentially many times.

  This default implementation does nothing. Override this method if necessary.

  Parameters:
    `minCapacity` - the desired minimum capacity.

### isEmpty

    public boolean isEmpty()

  Returns `true` if the receiver contains no (key,value) associations.

  Returns:
    `true` if the receiver contains no (key,value) associations.

### nextPrime

    protected int nextPrime(int desiredCapacity)

  Returns a prime number which is `>= desiredCapacity` and very close to `desiredCapacity` (within 11% if `desiredCapacity >= 1000`).

  Parameters:
    `desiredCapacity` - the capacity desired by the user.
  Returns:
    the capacity which should be used for a hashtable.

### setUp

    protected void setUp(int initialCapacity,
                         double minLoadFactor,
                         double maxLoadFactor)

  Initializes the receiver. You will almost certainly need to override this method in subclasses to initialize the hash table.

  Parameters:
    `initialCapacity` - the initial capacity of the receiver.
    `minLoadFactor` - the minLoadFactor of the receiver.
    `maxLoadFactor` - the maxLoadFactor of the receiver.
  Throws:
    `IllegalArgumentException` - if `initialCapacity < 0 || (minLoadFactor < 0.0 || minLoadFactor >= 1.0) || (maxLoadFactor <= 0.0 || maxLoadFactor >= 1.0) || (minLoadFactor >= maxLoadFactor)`.

### size

    public int size()

  Returns the number of (key,value) associations currently contained.

  Returns:
    the number of (key,value) associations currently contained.

### trimToSize

    public void trimToSize()

  Trims the capacity of the receiver to be the receiver's current size. Releases any superfluous internal memory. An application can use this operation to minimize the storage of the receiver.

  This default implementation does nothing. Override this method if necessary.

### equalsMindTheNull

    protected static boolean equalsMindTheNull(Object a,
                                               Object b)

Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.