But the array is sorted, right? Please take a loook at Arrays.binarySearch in Java: https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#binarySearch-int:A-int- Implementation: https://github.com/openjdk/jdk11/blob/master/src/java.base/share/classes/java/util/Arrays.java#L1828