Muy buenas a todos, les comento que resolví el problema resulta que:
 
necesitaba una variable de carga de factor y otra más para mantener el órden de los datos    
Código Java:
Ver original- private static final float LOAD_FACTOR = 0.75f; 
-     private static int threshold; 
también tenía que cambiar el constructor    
Código Java:
Ver original- public MyMap(int xcap) { 
-         if(xcap <= 0){ 
-         } 
-         threshold = (int) (xcap * LOAD_FACTOR); 
-         table = new Entry[xcap]; 
-         size = 0; 
-         init(); 
-     } 
además de rehacer el addEntry    
Código Java:
Ver original- private void addEntry(K key, V value){ 
-         if(size >= threshold){ 
-             Entry newTable[] = new Entry[table.length * 2]; 
-             transfer(newTable); 
-             table = newTable; 
-             threshold = (int)(newTable.length * LOAD_FACTOR); 
-         } 
-         createEntry(key, value); 
-     } 
y poner un método de transferencia de datos    
Código Java:
Ver original- private void transfer(Entry newTable[]){ 
-         for (Entry<K, V> entry : table) { 
-             if (entry != null) { 
-                 Entry<K,V> current = entry; 
-                 while(current != null){ 
-                     Entry<K,V> et = current; 
-                     current = current.next; 
-                     int index = hash(et.key,newTable.length); 
-                     et.next = newTable[index]; 
-                     newTable[index] = et; 
-                 } 
-             } 
-         } 
-     } 
Con eso ahora puedo ordenar por inserción, pero CalgaryCorpus te quería preguntar lo siguiente, en la parte que dices:  
 Cita:  Haz un metodo que te permita espiar tus estructuras y espialas por cada insercion que hagas, luego revisa el metodo que usas para imprimir los datos.
    No se me ocurre otra forma de espiar que mostrar los mensajes con System.out.println.  
Pongo el código: 
https://goo.gl/Ar3vMN 
Espero sus respuestas y saludos.