This week's book giveaway is in the Android forum. We're giving away four copies of Head First Android and have Dawn & David Griffiths on-line! See this thread for details.

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

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.

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

Joined: Aug 25, 2006
Posts: 1274

posted

0

Howdy ranchers!

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.