This week's book / license giveaways are in the JDBC and Relational Databases and Java in General forums.
We're giving away four copies each of PostGIS in Action and Java Advanced Topics Training and have the authors on-line!
See this thread and this one for details.
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


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.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Collections.sort() and reverse()