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
`HashedMapCollectionExtractorBase​(java.lang.String arrayField, java.lang.String keyField, java.lang.String valueField)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Double` `getCollisionRatio​(IObject coll)` Calculates the collision ratio in the collection.
`java.lang.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 Detail

#### HashedMapCollectionExtractorBase

    public HashedMapCollectionExtractorBase​(java.lang.String arrayField,
                                            java.lang.String keyField,
                                            java.lang.String valueField)

### Method Detail

#### 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 java.lang.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 java.lang.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()`