To add to that the output might even be different for different JVMs. It depends on the hashing algorithm used by the hash table implementation in question.

Generally ordered means that the order of the iteration is predictable i.e. you can tell what the output will be by looking at the code. Like ArrayList maintains insertion order i.e. if you iterate over it, you'll get the elements in the order in which you inserted them...

order : insertion order or sort order. Hashtable is none hence unordered.

[ SCJP 6.0 - 90% ] , JSP, Servlets and Learning EJB.
Try out the programs using a TextEditor. Textpad - Java 6 api

zheng li
Ranch Hand

Joined: Jun 16, 2009
Posts: 56

posted

0

Ankit Garg wrote:order : insertion order or sort order. Hashtable is none hence unordered.

so it means the elements in Hashtable are ordered according to some algorithm used by the Hashtable implementation, though it's neither insertion order nor sort order.

zheng li wrote:so it means the elements in Hashtable are ordered according to some algorithm used by the Hashtable implementation, though it's neither insertion order nor sort order.

No, that isn't right, at least not quite right. The algorithm in Hashtable is used to hash its keys. It's true that as a side effect of this algorithm, the elements appear in some order. But saying that they are ordered according to that algorithm is the same as throwing a handful of rocks downstairs. The rocks land on different steps, so they have an ordering. You could say the rocks were ordered by gravity and friction, but that wouldn't be very meaningful.

Ankit Garg wrote:order : insertion order or sort order. Hashtable is none hence unordered.

so it means the elements in Hashtable are ordered according to some algorithm used by the Hashtable implementation, though it's neither insertion order nor sort order.

To some extent you are right, Hashtable indeed has an internal ordering of elements otherwise you might see repeat elements while iterating over it and some elements might not appear at all. But as Paul said, the ordering is not kinda predictable, so its better to say that Hashtable is not ordered.

PS: I didn't write what's written in your quote, Nitish said that

Don't get me started about those stupid light bulbs.

subject: how to prove that Hashtable is not ordered