Package org.eclipse.mat.internal.collectionextract

# Class HashedMapCollectionExtractorBase

java.lang.Object
org.eclipse.mat.internal.collectionextract.MapCollectionExtractorBase
org.eclipse.mat.internal.collectionextract.HashedMapCollectionExtractorBase

All Implemented Interfaces:
  `ICollectionExtractor`, `IMapExtractor`

Direct Known Subclasses:
  `ConcurrentHashMapCollectionExtractor`, `ConcurrentSkipListCollectionExtractor`, `HashMapCollectionExtractor`

public abstract class HashedMapCollectionExtractorBase extends MapCollectionExtractorBase

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.eclipse.mat.inspections.collectionextract.IMapExtractor

`IMapExtractor.EntryObject`

## Constructor Summary

Constructors
Constructor
Description
`HashedMapCollectionExtractorBase(String arrayField, String keyField, String valueField)`

## Method Summary

Modifier and Type
Method
Description
`Double`
`getCollisionRatio(IObject coll)`
Calculates the collision ratio in the collection.
`Double`
`getFillRatio(IObject coll)`
Calculate the fill ratio of a collection
`boolean`
`hasCollisionRatio()`
Check if the extractor can calculate collision ratio
`boolean`
`hasFillRatio()`
Check if fill ratio for the collection can be calculated, i.e.

### Methods inherited from class org.eclipse.mat.internal.collectionextract.MapCollectionExtractorBase

`extractMapEntries, getCapacity, hasCapacity`

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

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

### Methods inherited from interface org.eclipse.mat.inspections.collectionextract.ICollectionExtractor

`extractEntries, extractEntryIds, getNumberOfNotNullElements, getSize, hasExtractableArray, hasExtractableContents, hasSize`

## Constructor Details

### HashedMapCollectionExtractorBase

public HashedMapCollectionExtractorBase(String arrayField, String keyField, String valueField)

## Method Details

### hasFillRatio

public boolean hasFillRatio()
Description copied from interface: `ICollectionExtractor`
Check if fill ratio for the collection can be calculated, i.e. if it has some predefined capacity and actual size.

Returns:
  true if `ICollectionExtractor.getFillRatio(IObject)` could be called
See Also:
  - `ICollectionExtractor.getFillRatio(IObject)`

### getFillRatio

public Double getFillRatio(IObject coll) throws SnapshotException
Description copied from interface: `ICollectionExtractor`
Calculate the fill ratio of a collection

Parameters:
  `coll` - - the collection to find the fill ratio of
Returns:
  the fill ratio, between 0.0 and 1.0, or null if unavailable
Throws:
  `SnapshotException` - if there is a problem retrieving data from the snapshot
See Also:
  - `ICollectionExtractor.hasFillRatio()`

### hasCollisionRatio

public boolean hasCollisionRatio()
Description copied from interface: `IMapExtractor`
Check if the extractor can calculate collision ratio

Returns:
  true if @`IMapExtractor.getCollisionRatio(IObject)` could be called
See Also:
  - `IMapExtractor.getCollisionRatio(IObject)`

### getCollisionRatio

public Double getCollisionRatio(IObject coll) throws SnapshotException
Description copied from interface: `IMapExtractor`
Calculates the collision ratio in the collection. Could be an estimate.

Parameters:
  `coll` - - the collection to calculate the collision ratio of
Returns:
  Double number of elements with colliding keys / size
Throws:
  `SnapshotException`
See Also:
  - `IMapExtractor.hasCollisionRatio()`