Package org.eclipse.mat.inspections.collectionextract

## Class ExtractedMap

- java.lang.Object
- - org.eclipse.mat.inspections.collectionextract.AbstractExtractedCollection<java.util.Map.Entry<IObject,​IObject>,​IMapExtractor>
  - - org.eclipse.mat.inspections.collectionextract.ExtractedMap

All Implemented Interfaces:
  `java.io.Serializable`, `java.lang.Iterable<java.util.Map.Entry<IObject,​IObject>>`, `IObject`

    public class ExtractedMap
    extends AbstractExtractedCollection<java.util.Map.Entry<IObject,​IObject>,​IMapExtractor>

An abstract class representing a map extracted from the heap. It provides convenience methods for querying certain properties of the collection (e.g. size) and for extracting the elements of the collection

Since:
  1.5
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.mat.snapshot.model.IObject

`IObject.Type`

### Constructor Summary

Constructors
`ExtractedMap​(IObject coll, IMapExtractor extractor)`

### Method Summary

All Methods Instance Methods Concrete Methods
`IObject` `getByKeyIdentity​(IObject key)` Gets an object from the Map, searching by the key.
`java.lang.Double` `getCollisionRatio()` Get the ratio of collisions inside the map.
`boolean` `hasCollisionRatio()` Check if collision ratio can be calculated for the map.
`java.util.Iterator<java.util.Map.Entry<IObject,​IObject>>` `iterator()` The entries of the map.

### Methods inherited from class org.eclipse.mat.inspections.collectionextract.AbstractExtractedCollection

`extractEntries, extractEntryIds, getCapacity, getClassSpecificName, getClazz, getDisplayName, getFillRatio, getGCRootInfo, getObjectAddress, getObjectId, getOutboundReferences, getRetainedHeapSize, getSnapshot, getTechnicalName, getUsedHeapSize, hasCapacity, hasExtractableArray, hasExtractableContents, hasFillRatio, hasSize, isEmpty, resolveValue, size, toString`

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

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

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Constructor Detail

#### ExtractedMap

    public ExtractedMap​(IObject coll,
                        IMapExtractor extractor)

### Method Detail

#### hasCollisionRatio

    public boolean hasCollisionRatio()

Check if collision ratio can be calculated for the map.

Returns:
  true if @`getCollisionRatio()` could be called
See Also:
  `getCollisionRatio()`

#### getCollisionRatio

    public java.lang.Double getCollisionRatio()
                                       throws SnapshotException

Get the ratio of collisions inside the map.

Returns:
  the collision ratio as a `Double` between 0.0 and 1.0 inclusive, or possibly null
Throws:
  `SnapshotException` - if there is a problem retrieving data from the snapshot
See Also:
  `hasCollisionRatio()`

#### getByKeyIdentity

    public IObject getByKeyIdentity​(IObject key)
                             throws SnapshotException

Gets an object from the Map, searching by the key. The keys are matched by IDENTITY, so cannot be used to compare for example Strings

Parameters:
  `key` -
Returns:
  the value object, assuming a match by key identity
Throws:
  `SnapshotException` - if there is a problem retrieving data from the snapshot

#### iterator

    public java.util.Iterator<java.util.Map.Entry<IObject,​IObject>> iterator()

The entries of the map.