aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Collections.sort() and reverse() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Collections.sort() and reverse()" Watch "Collections.sort() and reverse()" New topic
Author

Collections.sort() and reverse()

Lucky J Verma
Ranch Hand

Joined: Apr 11, 2007
Posts: 278
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
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

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.
 
 
subject: Collections.sort() and reverse()