This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line!See this thread for details.
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login Win a copy of Refactoring for Software Design Smells: Managing Technical Debt this week in the OO, Patterns, UML and Refactoring forum!

# binarySearch(). (Objective 6.5)

Divya Tiwari
Greenhorn

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.

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

regards
anil kumar
Ranch Hand

Joined: Feb 23, 2007
Posts: 447
Hi

Divya

Welcome to JavaRanch

If we are having 5 elements in the list means
the index starts from 0 and ends with 4
ok
And these are strings means they are sorted properly
ok
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.

I think you have understood.

Thanks
Anil Kumar
Divya Tiwari
Greenhorn

Joined: Mar 05, 2007
Posts: 3
Thanks a lot. That helped.

I agree. Here's the link: http://aspose.com/file-tools

subject: binarySearch(). (Objective 6.5)