Несколько вещей, на которые стоит обратить внимание:
1 - Вы можете преобразовать массив в список, используя
Arrays.asList(yourIntegerArray);
2 - Используя список, вы можете просто использовать indexOf ().
3 - Рассмотрим сценарий, в котором у вас есть список некоторой длины, вы хотите, чтобы число было ближе к 3, вы уже нашли, что 2 находится в массиве, и вы знаете, что 3 нет. Не проверяя другие числа, вы можете с уверенностью сделать вывод, что 2 - лучшее, потому что невозможно быть ближе. Однако я не уверен, как работает indexOf (), так что на самом деле это может не ускорить вас.
4 - Расширяя 3, скажем, что indexOf () занимает не больше времени, чем получение значения по индексу. Затем, если вы хотите, чтобы число, близкое к 3 в массиве, и вы уже нашли 1, и вам нужно было проверить еще много чисел, будет быстрее просто проверить, есть ли 2 или 4 в массиве.
5 - Расширяя 3 и 4, я думаю, что можно применить это к плавающим и двойным числам, хотя для этого потребуется, чтобы вы использовали размер шага меньше 1 ... вычисляя, как мало кажется за рамками вопрос, однако.