Package org.apache.datasketches.tuple.strings

# Class ArrayOfStringsSketch

java.lang.Object
org.apache.datasketches.tuple.Sketch<ArrayOfStringsSummary>
org.apache.datasketches.tuple.UpdatableSketch<String[],ArrayOfStringsSummary>
org.apache.datasketches.tuple.strings.ArrayOfStringsSketch

Direct Known Subclasses:
  `FdtSketch`

public class ArrayOfStringsSketch extends UpdatableSketch<String[],ArrayOfStringsSummary>
Extends UpdatableSketch<String[], ArrayOfStringsSummary>

Author:
  Lee Rhodes

## Constructor Summary

Constructors
Constructor
Description
`ArrayOfStringsSketch()`
Constructs new sketch with default K = 4096 (lgK = 12), default ResizeFactor=X8, and default p = 1.0.
`ArrayOfStringsSketch(int lgK)`
Constructs new sketch with default ResizeFactor=X8, default p = 1.0 and given lgK.
`ArrayOfStringsSketch(int lgK, ResizeFactor rf, float p)`
Constructs new sketch with given ResizeFactor, p and lgK.
`ArrayOfStringsSketch(org.apache.datasketches.memory.Memory mem)`
Deprecated.
As of 3.0.0, heapifying an UpdatableSketch is deprecated.
`ArrayOfStringsSketch(ArrayOfStringsSketch sketch)`
Copy Constructor

## Method Summary

Modifier and Type
Method
Description
`CompactSketch<ArrayOfStringsSummary>`
`compact()`
Converts the current state of the sketch into a compact sketch
`ArrayOfStringsSketch`
`copy()`
`int`
`getCountLessThanThetaLong(long thetaLong)`
Gets the number of hash values less than the given theta expressed as a long.
`int`
`getCurrentCapacity()`
Get current capacity
`int`
`getLgK()`
Get log_base2 of Nominal Entries
`int`
`getNominalEntries()`
Get configured nominal number of entries
`ResizeFactor`
`getResizeFactor()`
Get configured resize factor
`int`
`getRetainedEntries()`
Returns number of retained entries
`float`
`getSamplingProbability()`
Get configured sampling probability
`TupleSketchIterator<ArrayOfStringsSummary>`
`iterator()`
Returns a SketchIterator
`void`
`reset()`
Resets this sketch an empty state.
`byte[]`
`toByteArray()`
Deprecated.
As of 3.0.0, serializing an UpdatableSketch is deprecated.
`void`
`trim()`
Rebuilds reducing the actual number of entries to the nominal number of entries if needed
`void`
`update(String[] strArrKey, String[] strArr)`
Updates the sketch with String arrays for both key and value.

### Methods inherited from class org.apache.datasketches.tuple.UpdatableSketch

`update, update, update, update, update, update, update`

### Methods inherited from class org.apache.datasketches.tuple.Sketch

`getEstimate, getEstimate, getLowerBound, getLowerBound, getSummaryFactory, getTheta, getThetaLong, getUpperBound, getUpperBound, isEmpty, isEstimationMode, toString`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ArrayOfStringsSketch

public ArrayOfStringsSketch()
Constructs new sketch with default K = 4096 (lgK = 12), default ResizeFactor=X8, and default p = 1.0.

### ArrayOfStringsSketch

public ArrayOfStringsSketch(int lgK)
Constructs new sketch with default ResizeFactor=X8, default p = 1.0 and given lgK.

Parameters:
  `lgK` - Log_base2 of Nominal Entries. See Nominal Entries

### ArrayOfStringsSketch

public ArrayOfStringsSketch(int lgK, ResizeFactor rf, float p)
Constructs new sketch with given ResizeFactor, p and lgK.

Parameters:
  `lgK` - Log_base2 of Nominal Entries. See Nominal Entries
  `rf` - ResizeFactor See Resize Factor
  `p` - sampling probability See Sampling Probability

### ArrayOfStringsSketch

@Deprecated public ArrayOfStringsSketch(org.apache.datasketches.memory.Memory mem)
Deprecated.
As of 3.0.0, heapifying an UpdatableSketch is deprecated. This capability will be removed in a future release. Heapifying a CompactSketch is not deprecated.
Constructs this sketch from a Memory image, which must be from an ArrayOfStringsSketch, and usually with data.

Parameters:
  `mem` - the given Memory

### ArrayOfStringsSketch

public ArrayOfStringsSketch(ArrayOfStringsSketch sketch)
Copy Constructor

Parameters:
  `sketch` - the sketch to copy

## Method Details

### copy

public ArrayOfStringsSketch copy()

Overrides:
  `copy` in class `UpdatableSketch<String[],ArrayOfStringsSummary>`
Returns:
  a deep copy of this sketch

### update

public void update(String[] strArrKey, String[] strArr)
Updates the sketch with String arrays for both key and value.

Parameters:
  `strArrKey` - the given String array key
  `strArr` - the given String array value

### getRetainedEntries

public int getRetainedEntries()
Description copied from class: `Sketch`
Returns number of retained entries

Specified by:
  `getRetainedEntries` in class `Sketch<S extends Summary>`
Returns:
  number of retained entries

### getCountLessThanThetaLong

public int getCountLessThanThetaLong(long thetaLong)
Description copied from class: `Sketch`
Gets the number of hash values less than the given theta expressed as a long.

Specified by:
  `getCountLessThanThetaLong` in class `Sketch<S extends Summary>`
Parameters:
  `thetaLong` - the given theta as a long between zero and Long.MAX_VALUE.
Returns:
  the number of hash values less than the given thetaLong.

### getNominalEntries

public int getNominalEntries()
Get configured nominal number of entries

Returns:
  nominal number of entries

### getLgK

public int getLgK()
Get log_base2 of Nominal Entries

Returns:
  log_base2 of Nominal Entries

### getSamplingProbability

public float getSamplingProbability()
Get configured sampling probability

Returns:
  sampling probability

### getCurrentCapacity

public int getCurrentCapacity()
Get current capacity

Returns:
  current capacity

### getResizeFactor

public ResizeFactor getResizeFactor()
Get configured resize factor

Returns:
  resize factor

### trim

public void trim()
Rebuilds reducing the actual number of entries to the nominal number of entries if needed

### reset

public void reset()
Resets this sketch an empty state.

### compact

public CompactSketch<ArrayOfStringsSummary> compact()
Converts the current state of the sketch into a compact sketch

Specified by:
  `compact` in class `Sketch<S extends Summary>`
Returns:
  compact sketch

### toByteArray

@Deprecated public byte[] toByteArray()
Deprecated.
As of 3.0.0, serializing an UpdatableSketch is deprecated. This capability will be removed in a future release. Serializing a CompactSketch is not deprecated.
This serializes an UpdatableSketch (QuickSelectSketch).

Specified by:
  `toByteArray` in class `Sketch<S extends Summary>`
Returns:
  serialized representation of an UpdatableSketch (QuickSelectSketch).

### iterator

public TupleSketchIterator<ArrayOfStringsSummary> iterator()
Description copied from class: `Sketch`
Returns a SketchIterator

Specified by:
  `iterator` in class `Sketch<S extends Summary>`
Returns:
  a SketchIterator