Встречается на собеседованиях • сегодня
Как определить индекс, если требуется максимальная производительность
Для максимальной производительности при поиске индекса элемента в коллекции:
- Для массивов используйте
System.arraycopy()или прямой доступ по индексу:
java
int index = -1;
for(int i = 0; i < array.length; i++) {
if(array[i] == target) {
index = i;
break;
}
}- Для ArrayList - метод
indexOf(), но для примитивов лучше ручной перебор:
java
int index = list.indexOf(element); // для объектов
// Или для примитивов:
int index = -1;
for(int i = 0; i < list.size(); i++) {
if(list.get(i) == target) {
index = i;
break;
}
}- Для HashMap - используйте
get()(O(1) в среднем случае):
java
Integer index = map.get(key); // вернет значение по ключуКлючевые моменты:
- Избегайте box/unbox для примитивов
- Для больших данных предпочитайте массивы
- Используйте break при нахождении элемента
- Для частых поисков используйте HashMap

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы