Встречается на 2% собеседований по Java

Как бы сделал быстрый поиск по условию в коллекции

Для быстрого поиска в коллекции лучше использовать HashMap или HashSet, если нужен поиск по ключу. Время доступа O(1).

Если поиск по сложному условию:

java
List<User> users = ...;
Optional<User> found = users.stream()
    .filter(u -> u.getAge() > 25 && u.getName().startsWith("A"))
    .findFirst();

Для частых поисков можно предварительно индексировать:

java
Map<String, User> byName = users.stream()
    .collect(Collectors.toMap(User::getName, Function.identity()));

Если коллекция большая и часто изменяется, рассмотри ConcurrentHashMap или индексы в БД.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы