Can anybody help me explaning , difference between answer B and C Both give right answer according to my unserstanding. Correct answer is C . . Question 189 Given: ArrayList a = new ArrayList(); containing the values {�1�, �2�, �3�, �4�, �5�, �6�, �7�, �8�} Which code will return 2? A. Collections. sort(a, a.reverse()); int result = Collections.binarySearch(a, �6�); ---------------------------------------------------- B. Comparator c = Collections.reverseOrder(); Collections.sort(a, c); int result = Collections.binarySearch(a, �6�);
C. Comparator c = Collections.reverseOrder(); Collections.sort(a, c); int result = Collections.binarySearch(a, �6�,c);what is purpose of c here in method arguments ------------------------------------------------- D. Comparator c = Collections.reverseOrder(a); Collections.sort(a, c); int result = Collections.binarySearch(a, �6�,c); E. Comparator c = new InverseComparator(new Comparator()); Collections.sort(a); int result = Collections.binarySearch(a, �6�,c);
Meera Nanda
Greenhorn
Joined: Sep 07, 2007
Posts: 5
posted
0
Hi Lucky,
Option A is incorrect since there is no a.reverse() method.
Option D also is incorrect since there is no Collections.reverseOrder(Arraylist a) method.
Option E is incorrect there is no class or interface called InverseComparator and also Comparator class is an abstract class which cannot be instantiated.
Can anybody help me explaning , difference between answer B and C
The above code compiles fine , but gives a vague result which cannot be guaranteed.In this case sometimes would be values such as -9,-10 etc.
This code compiles fine and gives the result 2.
You could also have a look at the two binarySearch methods of Collections class inJava API which tells in detail about the differences of the 2 methods.
I hope this helps you.
Thank you Meera
[ September 24, 2007: Message edited by: Meera Nanda ] [ September 24, 2007: Message edited by: Meera Nanda ]
Thank You<br />Meera
ahmed yehia
Ranch Hand
Joined: Apr 22, 2006
Posts: 424
posted
0
Here you are sorting the collection using a Comparator, so you must use the same Comparator in the search method or you wont get accurate results.