binarySearch<T extends Comparable<Object> > function
- List<
T> sortedList, - T value
Returns the position of value
in the sortedList
, if it exists.
Returns -1
if the value
is not in the list. Requires the list items
to implement Comparable and the sortedList
to already be ordered.
Implementation
int binarySearch<T extends Comparable<Object>>(List<T> sortedList, T value) {
int min = 0;
int max = sortedList.length;
while (min < max) {
final int mid = min + ((max - min) >> 1);
final T element = sortedList[mid];
final int comp = element.compareTo(value);
if (comp == 0) {
return mid;
}
if (comp < 0) {
min = mid + 1;
} else {
max = mid;
}
}
return -1;
}