Find Correct Statements

Question 6 :

x = 0;
if (x1.hashCode() != x2.hashCode() )  x = x + 1;
if (x3.equals(x4) )  x = x + 10;
if (!x5.equals(x6) ) x = x + 100;
if (x7.hashCode() == x8.hashCode() )  x = x + 1000;
System.out.println("x = " + x);
and assuming that the equals() and hashCode() methods are property implemented, if the output is "x = 1111", which of the following statements will always be true?

A). x2.equals(x1)
B). x3.hashCode() == x4.hashCode()
C). x5.hashCode() != x6.hashCode()
D). x8.equals(x7)
Answer : Option B

Explanation :

By contract, if two objects are equivalent according to the equals() method, then the hashCode() method must evaluate them to be ==.
Option A is incorrect because if the hashCode() values are not equal, the two objects must not be equal.
Option C is incorrect because if equals() is not true there is no guarantee of any result from hashCode().
Option D is incorrect because hashCode() will often return == even if the two objects do not evaluate to equals() being true.

Question 7 :

Which of the following are true statements?

1. The Iterator interface declares only three methods: hasNext, next and remove.
2. The ListIterator interface extends both the List and Iterator interfaces.
3. The ListIterator interface provides forward and backward iteration capabilities.
4. The ListIterator interface provides the ability to modify the List during iteration.
5. The ListIterator interface provides the ability to determine its position in the List.

A). 2, 3, 4 and 5
B). 1, 3, 4 and 5
C). 3, 4 and 5
D). 1, 2 and 3
Answer : Option B

Explanation :

The ListIterator interface extends the Iterator interface and declares additional methods to provide forward and backward iteration capabilities, List modification capabilities, and the ability to determine the position of the iterator in the List.

Question 8 :

Which statement is true for the class java.util.ArrayList?

A). The elements in the collection are ordered.
B). The collection is guaranteed to be immutable.
C). The elements in the collection are guaranteed to be unique.
D). The elements in the collection are accessed using a unique key.
Answer : Option A

Explanation :

Yes, always the elements in the collection are ordered.