Я выполняю задание MapReduce в oop в Java, где производительность очень важна. Мои средства отображения получают некоторый текст в качестве входных данных и должны выдавать кортеж (ключ, значение) для каждого отдельного вхождения слова во входных данных, за исключением некоторых предопределенных стоп-слов, которые определены в файле, который доступен во время компиляции и не меняются .
Я полагаю, что использование двух Set
s и вызов wordSet.removeAll(stopWordSet)
- это оптимальный способ сделать это во время выполнения, но я также хочу избежать загрузка файла слова каждый раз при инициализации преобразователя.
Есть ли способ как-то статически, во время компиляции, заполнить этот Set? Я думаю о синтаксическом анализе файла как строки и создании окончательного варианта, но тогда мне нужно будет позвонить .split()
во время выполнения.
Какой самый эффективный способ достичь чего-то подобного?