If greater than or equal to zero, the position of the first
located element matching your key; if the element does not exist in this
collection, this method returns a negative integer, the absolute value of
which indicates the position your element would occupy in this
collection.

Throws:

ArrayIndexOutOfBoundsException - Thrown if the start and end
indexes are outside the bounds of the array. Note that the method will
not throw an exception when searching for a null argument in an EMPTY list.