File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes binarySearch(). (Objective 6.5) 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 "binarySearch(). (Objective 6.5)" Watch "binarySearch(). (Objective 6.5)" New topic

binarySearch(). (Objective 6.5)

Divya Tiwari

Joined: Mar 05, 2007
Posts: 3
In connection to self test question no. 9 at the end of chapter 7 in the SCJP 1.5 book by K&B.

Please Elucidate the following answer:-

Given a properly prepared String array containing five elements, which range of results could a proper invocation of Arrays.binarySearch() produce?
A. 0 through 4
B. 0 through 5
C. -1 through 4
D. -1 through 5
E. -5 through 4
F. -5 through 5
G. -6 through 4
H. -6 through 5

G is correct. If a match is found, binarySearch()will return the index of the element that was matched. If no match is found, binarySearch() will return a negative number that,if inverted and then decremented, gives you the insertion point (array index) at which the value searched on should be inserted into the array to maintain a proper sort.
Nik Arora
Ranch Hand

Joined: Apr 26, 2007
Posts: 652
Hi Divya,
Look at the below formula. Where "N" stands for number of elements and since there 5 elements it will be

-(N+1) to (N-1)

-(5+1) to (5-1)

-6 to 4

anil kumar
Ranch Hand

Joined: Feb 23, 2007
Posts: 447


Welcome to JavaRanch

If we are having 5 elements in the list means
the index starts from 0 and ends with 4
And these are strings means they are sorted properly
now you are searching an element,and that element was not there.
then what you will get an insertinon as -6,invert and then decremented -1 that gives us index,where that element would be there.

And check the answers .

I think you have understood.

Anil Kumar
Divya Tiwari

Joined: Mar 05, 2007
Posts: 3
Thanks a lot. That helped.
I agree. Here's the link:
subject: binarySearch(). (Objective 6.5)
It's not a secret anymore!