Class CompactStringObjectMap

  • All Implemented Interfaces:
    java.io.Serializable

    public final class CompactStringObjectMap
    extends java.lang.Object
    implements java.io.Serializable
    Specialized lookup class that implements functionality similar to Map, but for special case of key always being String and using more compact (and memory-access friendly) hashing scheme. Assumption is also that keys are typically intern()ed.

    Generics are not used to avoid bridge methods and since these maps are not exposed as part of external API.

    Since:
    2.6
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private CompactStringObjectMap​(int hashMask, int spillCount, java.lang.Object[] hashArea)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.Object _find2​(java.lang.String key, int slot, java.lang.Object match)  
      static <T> CompactStringObjectMap construct​(java.util.Map<java.lang.String,​T> all)  
      java.lang.Object find​(java.lang.String key)  
      java.lang.Object findCaseInsensitive​(java.lang.String key)  
      private static int findSize​(int size)  
      java.util.List<java.lang.String> keys()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • EMPTY

        private static final CompactStringObjectMap EMPTY
        Shared instance that can be used when there are no contents to Map.
      • _hashMask

        private final int _hashMask
      • _spillCount

        private final int _spillCount
      • _hashArea

        private final java.lang.Object[] _hashArea
    • Constructor Detail

      • CompactStringObjectMap

        private CompactStringObjectMap​(int hashMask,
                                       int spillCount,
                                       java.lang.Object[] hashArea)
    • Method Detail

      • construct

        public static <T> CompactStringObjectMap construct​(java.util.Map<java.lang.String,​T> all)
      • findSize

        private static final int findSize​(int size)
      • find

        public java.lang.Object find​(java.lang.String key)
      • _find2

        private final java.lang.Object _find2​(java.lang.String key,
                                              int slot,
                                              java.lang.Object match)
      • findCaseInsensitive

        public java.lang.Object findCaseInsensitive​(java.lang.String key)
        Since:
        2.9
      • keys

        public java.util.List<java.lang.String> keys()