ques from JQplus Sample exam: Your application needs to load a set of key value pairs from a database table which never changes. Multiple threads need to access this information but none of them changes it. Which class would you use to store such data? The options are Hashtable,HashMap,TreeMap,Set,List and 2 choices I think the option should be HashMap and HashTable but can we just use HashMap as we do not need to synchronize this so we don't need HashTable.
Corey McGlone
Ranch Hand
Joined: Dec 20, 2001
Posts: 3271
posted
0
What are you asking? I thought the question stated that you should choose two answers. If that's the case, then HashMap and Hashtable are the correct answers. The only reason HashMap is a correct answer is because there is no need for synchronization. Corey
I read from API that HashMap is not synchronized. It says only HashTable and Vector are synchronized.(Thread Safe). Then what could be the reason to select HashMap?
Thanks,<br />Thiru<br />[SCJP,SCWCD,SCBCD]
Younes Essouabni
Ranch Hand
Joined: Jan 13, 2002
Posts: 479
posted
0
Multiple threads need to access this information but none of them changes it.
Threads don't change information, so you don't need synchronization.
Younes
By constantly trying one ends up succeeding. Thus: the more one fails the more one has a chance to succeed.
Originally posted by Jose Botella: HashMap is quicker than HashTable.
To elaborate...HashMap is quicker than Hashtable becauseHashMap isn't synchronized. There is no need for invoking threads to take the extra time to acquire a monitor or to wait for one in the case that it has already been acquired by another thread. Corey