Class ObjToIntMap

  • All Implemented Interfaces:
    java.io.Serializable

    public class ObjToIntMap
    extends java.lang.Object
    implements java.io.Serializable
    Map to associate objects to integers. The map does not synchronize any of its operation, so either use it from a single thread or do own synchronization or perform all mutation operations on one thread before passing the map to others
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ObjToIntMap.Iterator  
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static int A  
      private static boolean check  
      private static java.lang.Object DELETED  
      private int keyCount  
      private java.lang.Object[] keys  
      private int occupiedCount  
      private int power  
      private static long serialVersionUID  
      private int[] values  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()  
      private int ensureIndex​(java.lang.Object key)  
      private int findIndex​(java.lang.Object key)  
      int get​(java.lang.Object key, int defaultValue)
      Get integer value assigned with key.
      int getExisting​(java.lang.Object key)
      Get integer value assigned with key.
      java.lang.Object[] getKeys()
      Return array of present keys
      void getKeys​(java.lang.Object[] array, int offset)  
      boolean has​(java.lang.Object key)  
      (package private) void initIterator​(ObjToIntMap.Iterator i)  
      private int insertNewKey​(java.lang.Object key, int hash)  
      java.lang.Object intern​(java.lang.Object keyArg)
      If table already contains a key that equals to keyArg, return that key while setting its value to zero, otherwise add keyArg with 0 value to the table and return it.
      boolean isEmpty()  
      ObjToIntMap.Iterator newIterator()  
      void put​(java.lang.Object key, int value)  
      private void readObject​(java.io.ObjectInputStream in)  
      private void rehashTable()  
      void remove​(java.lang.Object key)  
      int size()  
      private static int tableLookupStep​(int fraction, int mask, int power)  
      private void writeObject​(java.io.ObjectOutputStream out)  
      • Methods inherited from class java.lang.Object

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

      • DELETED

        private static final java.lang.Object DELETED
      • keys

        private transient java.lang.Object[] keys
      • values

        private transient int[] values
      • power

        private int power
      • keyCount

        private int keyCount
      • occupiedCount

        private transient int occupiedCount
    • Constructor Detail

      • ObjToIntMap

        public ObjToIntMap()
      • ObjToIntMap

        public ObjToIntMap​(int keyCountHint)
    • Method Detail

      • isEmpty

        public boolean isEmpty()
      • size

        public int size()
      • has

        public boolean has​(java.lang.Object key)
      • get

        public int get​(java.lang.Object key,
                       int defaultValue)
        Get integer value assigned with key.
        Returns:
        key integer value or defaultValue if key is absent
      • getExisting

        public int getExisting​(java.lang.Object key)
        Get integer value assigned with key.
        Returns:
        key integer value
        Throws:
        java.lang.RuntimeException - if key does not exist
      • put

        public void put​(java.lang.Object key,
                        int value)
      • intern

        public java.lang.Object intern​(java.lang.Object keyArg)
        If table already contains a key that equals to keyArg, return that key while setting its value to zero, otherwise add keyArg with 0 value to the table and return it.
      • remove

        public void remove​(java.lang.Object key)
      • clear

        public void clear()
      • getKeys

        public java.lang.Object[] getKeys()
        Return array of present keys
      • getKeys

        public void getKeys​(java.lang.Object[] array,
                            int offset)
      • tableLookupStep

        private static int tableLookupStep​(int fraction,
                                           int mask,
                                           int power)
      • findIndex

        private int findIndex​(java.lang.Object key)
      • insertNewKey

        private int insertNewKey​(java.lang.Object key,
                                 int hash)
      • rehashTable

        private void rehashTable()
      • ensureIndex

        private int ensureIndex​(java.lang.Object key)
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream out)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException