Java Programming - Objects and Collections - Discussion
Discussion Forum : Objects and Collections - Pointing out the correct statements (Q.No. 1)
1.
class Test1
{
public int value;
public int hashCode() { return 42; }
}
class Test2
{
public int value;
public int hashcode() { return (int)(value^5); }
}
which statement is true?Answer: Option
Explanation:
The so-called "hashing algorithm" implemented by class Test1 will always return the same value, 42, which is legal but which will place all of the hash table entries into a single bucket, the most inefficient setup possible.
Option A and D are incorrect because these classes are legal.
Option B is incorrect based on the logic described above.
Discussion:
14 comments Page 2 of 2.
Robin said:
9 years ago
Exact int are initialized at 0, and don't forget that : 0^n = 1.
One return al the time 42 and the other one always 1. (Assuming we never change the parameter "value".
One return al the time 42 and the other one always 1. (Assuming we never change the parameter "value".
Fixit said:
8 years ago
This is a terrible question.
There is no mention of hash tables so you simply can't make that bit up - the methods have to be assessed on their merits.
Value is never initialised in Test2 so the method will always return 0. Hardly a model method!
The method in Test2 is called hashcode not hashCode so the "correct" option makes no sense.
There is no mention of hash tables so you simply can't make that bit up - the methods have to be assessed on their merits.
Value is never initialised in Test2 so the method will always return 0. Hardly a model method!
The method in Test2 is called hashcode not hashCode so the "correct" option makes no sense.
Ken said:
8 years ago
It should be 'ideal' instead of efficient.
Katalin said:
2 years ago
There is a typo, in line : public int hashcode () {return (int) (value^5);}.
Hashcode --> hashCode.
Hashcode --> hashCode.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers