This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I am looking at some code which sets a collection of hashtables (which should have been beans), into a vector, and that vector being moved around. Now there is a need to make sure the hashtables in the vector are sorted, based on any parametric value that is a part of the keys of the hashtable. I am trying to revisit some code and was able to come up with this,havent been able to test it though, I had read somewhere that comparing the hashcode values should help. I am not sure if the below is correct. Would this be the best approach ? Could you please help me with this one ?
No, that wouldn't be the best approach. You are ordering the entries by their hashcodes if you do that, and the hashcodes are unpredictable random numbers. Which I don't think you want to use to sequence them.
If you want to sort on this "parametric value", whatever that is, then get the "parametric values" for each of the entries and just return "a.compareTo(b)" in your Comparator's method.
Joined: Jul 08, 2007
Thanks for your input.
The only part that I am not able to understand is, how the sort method (with the comparator being passed) spin the loop ?
For ex: I did this :
For ex. here, I get the key based on the enumeration I retrieve. But how would that happen in the above sort ?