This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
It still uses the Entry table internally during runtime. The transient keyword only means that the entries will not be serialized / deserialized by default. That's where the readObject and writeObject methods come in; they read / write the entries manually. From the Java 6 source code of HashMap:
s.defaultWriteObject() writes the threshold and loadFactor fields; all other fields are transient. Likewise, s.defaultReadObject() reads those two fields again. The Entry table is simply reconstructed instead of serialized and deserialized.>