About the question 8 of the Self test, chapter 2 say:
You need to update a value of a hash table (that is, HashMap) where the primary key must equal a specified string. Which statements would you need to use in the implementation of this algorithm?
A. Iteration statement
B. Expression statement
C. Conditional statement
D. Transfer of control statement
Answer: A, B, and C. Iteration, expression, and conditional statements would be used to implement the algorithm.
The following code segment demonstrates the use of these statements by programmatically replacing the ring on the little finger of a person’s left hand. The statements are prefaced by comments that identify their types.
In my opinion this question is a little confuse, because if I know the key I can update a HashMap without the support of Iteration statement and without the Conditional statement as below:
If I must use the Iteration statement and the Conditional statement I can use the Transfer of control statement also.
What do you think?
In my opinion you are correct! It's actually the power of a map to be able to access/change a value by its key using an expression statement. You don't need an iteration or conditional statement at all. The first example is simply bad programming, your 2nd example is how it should be done
So that should be added as an erratum to the book.
Sika Annas wrote:I'm curious, why is there HashMap in this book? They're not listed in the OCA Java 7 exam objectives.
That's true! From the Collections framework you should only know ArrayList for the OCAJP7
I had to remove any references to "null" values and define "static String s" at the beginning of the class, but again, I got identical output and didn't use a conditional.
Vince Silvey wrote:I had to remove any references to "null" values and define "static String s" at the beginning of the class, but again, I got identical output and didn't use a conditional.
Your solution gives me a NullPointerException which is not identical to the output of HashMapExampleZ.