posted 10 years ago

Question no. 9 chapter 7 k&B

Given a properly prepared String array containing five elements, which range of results could a proper invocation of Arrays.binarySearch()produce?

answer: -6 through 4

per my understanding answer should be (-5 through 4) since inserion points evaluates as (-(insertion point) -1), so for eg last insertion point of index 4 should be (-4 -1) which is -5 Not -6

Given a properly prepared String array containing five elements, which range of results could a proper invocation of Arrays.binarySearch()produce?

answer: -6 through 4

per my understanding answer should be (-5 through 4) since inserion points evaluates as (-(insertion point) -1), so for eg last insertion point of index 4 should be (-4 -1) which is -5 Not -6

ahmed yehia

Ranch Hand

Posts: 424

posted 10 years ago

Howdy ranchers,

Ahmed wrote

No, the last insertion point is

(0, 1, 2, 3, 4)

and you do a binary search for number 5, which isn't in. Then the insertion point would be index 5 (after the four)

And as the returned value of a not-find is always

-(insertion point - 1)

the binary search should return -6.

Yours,

Bu.

[ July 19, 2007: Message edited by: Burkhard Hassel ]

Ahmed wrote

per my understanding answer should be (-5 through 4) since inserion points evaluates as (-(insertion point) -1), so for eg last insertion point of index 4 should be (-4 -1) which is -5

No, the last insertion point is

*behind*the last entry, so if you have a sorted collection say:(0, 1, 2, 3, 4)

and you do a binary search for number 5, which isn't in. Then the insertion point would be index 5 (after the four)

And as the returned value of a not-find is always

-(insertion point - 1)

the binary search should return -6.

Yours,

Bu.

[ July 19, 2007: Message edited by: Burkhard Hassel ]

all events occur in real time

posted 10 years ago

HI,

binarySearch(List<? extends Comparable<? super T>>

checkedMap(Map<K,V> m, Class<K> keyType,)

checkedSortedSet(SortedSet<E> s, Class<E> type)

these methods were taken from the collections class

MY doubt is the arguments

1.List<? extends Comparable<? super T>

2.checkedMap(Map<K,V> m, Class<K> keyType,)

3.(SortedSet<E> s, Class<E> type)

In this forum i read that <E> is for numeric types is it true?

and please explain what these arugments types expect.

binarySearch(List<? extends Comparable<? super T>>

checkedMap(Map<K,V> m, Class<K> keyType,)

checkedSortedSet(SortedSet<E> s, Class<E> type)

these methods were taken from the collections class

MY doubt is the arguments

1.List<? extends Comparable<? super T>

2.checkedMap(Map<K,V> m, Class<K> keyType,)

3.(SortedSet<E> s, Class<E> type)

In this forum i read that <E> is for numeric types is it true?

and please explain what these arugments types expect.

Burkhard Hassel

Ranch Hand

Posts: 1274

posted 10 years ago

Howdy ranchers!

Saravana asked:

No. You must have misunderstood something. It is a generic type. On the Sun site is a tutorial part also about Generics. You'll need to spend some time with this for the exam.

Yours,

Bu.

Saravana asked:

In this forum i read that <E> is for numeric types is it true?

No. You must have misunderstood something. It is a generic type. On the Sun site is a tutorial part also about Generics. You'll need to spend some time with this for the exam.

Yours,

Bu.

all events occur in real time

It is sorta covered in the JavaRanch Style Guide. |