kvr000 commented on code in PR #1270:
URL: https://github.com/apache/commons-lang/pull/1270#discussion_r1758067906
##########
src/main/java/org/apache/commons/lang3/ArrayUtils.java:
##########
@@ -1432,6 +1432,115 @@ public static <T> T arraycopy(final T source, final int
sourcePos, final T dest,
return dest;
}
+ /**
+ * Searches element in array sorted by key.
+ *
+ * @param array
+ * array sorted by key field
+ * @param key
+ * key to search for
+ * @param keyExtractor
+ * function to extract key from element
+ * @param comparator
+ * comparator for keys
+ *
+ * @return
+ * index of the search key, if it is contained in the array within
specified range; otherwise,
+ * (-first_greater - 1). The first_greater is the index of lowest
greater element in the list - if all elements
+ * are lower, the first_greater is defined as toIndex.
Review Comment:
@garydgregory : I already did. I dropped `binarySearch` as the randomness
of choosing any of equal element effectively disqualifies it from such use
cases. Predictable behavior of `binarySearchFirst` and `binarySearchLast` is
huge benefit and comes at almost no cost (is slower only in cases when the
lookup is quickly "lucky").
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]