Class PersistentMapFactory<K,V>

java.lang.Object
net.cscott.jutil.PersistentMapFactory<K,V>
All Implemented Interfaces:
MapFactory<K,V>

public class PersistentMapFactory<K,V> extends Object implements MapFactory<K,V>
A PersistentMapFactory uses hash-consing to ensure that the Maps created by it maximally reuse space. Equality tests between Maps created by this factory are constant-time. Cloning a Map created by this factory is also constant-time. The implementation is based on persistent randomized treaps.
Since:
1.1
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
  • Constructor Details

    • PersistentMapFactory

      public PersistentMapFactory(Comparator<K> comparator)
      Creates a PersistentMapFactory. Note that the keys must implement a good hashcode as well as being comparable.
  • Method Details

    • makeMap

      public Map<K,V> makeMap(Map<? extends K,? extends V> mm)
      Generates a new unsynchronized mutable Map which is based on persistent randomized treaps. All Maps created by this factory maximally reuse space, and have very fast comparison operations.
      Specified by:
      makeMap in interface MapFactory<K,V>