Я пытаюсь сделать следующее: у меня есть список имен (приблизительно 40 000), которые будут оставаться постоянными, и текстовый файл (приблизительно 10000 строк), который изменится с поиска на поиск , Мне нужно найти подходящий способ поиска по каждой строке текстового файла, чтобы узнать, существует ли точное совпадение строк между именем и текстом, а затем возвращать совпадения и вхождения (см. Ниже). Я реализовал это с вложенным циклом for, который, как известно, очень медленный. Я уверен, что другие искали этот же вопрос, и я приношу свои извинения, если этот вопрос повторяется, однако я значительно искал подходящий ответ и до сих пор не увенчался успехом. Я был бы признателен за любую помощь, которая может быть предложена (желательно Java). Также обратите внимание, что любая структура, которая ускорит этот поиск, будет полезна для меня (не обязательно должна быть лучшей). Искренне благодарим за любую помощь.Поиск подстрок в Java
Пример:
names.txt (статический) Энди Дик Эндрю Каннингем . . . Исаак П. Ньютон . . . Zulu
text.txt (динамический) Это случайный текст, который может содержать или не содержать никаких имен, таких как Исаак П. Ньютон или Зулу. Больше линий здесь ... Еще Zulu ...
мне нужно вернуть следующее: Исаак Ньютон П. 1 Zulu 2
Что вы пробовали? Это домашнее задание? Используйте карту для сохранения статических имен и количества ошибок. – pcalcao
Несвязанный, но моя фамилия Ньютон, и я пошел в старшую школу с Энди. Так и есть. –
Вы можете использовать lucene в своем приложении, но для этого вам сначала нужно индексировать документы (текстовые файлы). Тогда поиск будет производиться с молниеносной скоростью. –