Какой самый быстрый метод поиска подстроки в Java

Мне нужно реализовать способ поиска подстроки (иглы) в списке строк (стог сена) с использованием Java.

Более конкретно, мое приложение имеет список профилей пользователей. Если я наберу несколько букв, например, «Ja», а затем выполню поиск, то должны появиться все пользователи, чье имя содержит «ja». Например, результатом могут быть «Джек», «Джексон», «Джейсон», «Диджафу».

В Java, как я знаю, есть 3 встроенных метода для поиска подстроки поиска в строке.

string.contains ()

String.indexOf ()

регулярное выражение. это что-то вроде string.matches ("ja"))

Мой вопрос: Каковы сроки выполнения каждого метода выше? какой из них является самым быстрым, самым эффективным или самым популярным способом проверить, содержит ли список строк заданную подстроку.

Я знаю, что существуют некоторые алгоритмы, которые делают то же самое, такие как алгоритм поиска строк Бойера-Мура, алгоритм Кнута-Морриса-Пратта и так далее. Я не хочу их использовать, потому что у меня просто небольшой список строк, и я думаю, что их использование сейчас для меня излишне. Также я должен набрать много дополнительного кода для такого не встроенного алгоритма. Если вы считаете, что мои мысли не верны, пожалуйста, поправьте меня.

Ответы на вопрос(6)

Ваш ответ на вопрос