Ответ
Поиск элемента в ArrayList имеет линейную сложность O(n), так как в худшем случае необходимо пройти все элементы списка до нахождения нужного.
Если список отсортирован, можно использовать Collections.binarySearch(), что снизит сложность до O(log n).
val list = arrayListOf(1, 2, 3, 4, 5)
val index = list.indexOf(3) // O(n)
val sortedIndex = Collections.binarySearch(list, 3) // O(log n)
Для частых поисков лучше использовать HashSet (O(1)) или TreeSet (O(log n)).