набор строк для поиска в другом наборе - PullRequest
0 голосов
/ 30 марта 2020

Каков наилучший способ поиска группы предложений в большей предопределенной группе предложений?

Большие предопределенные группы предложений могут содержать 20000 предложений, а одно предложение может содержать не более 250 символов.

Существует сценарий, в котором размеры обоих становятся одинаковыми.

Мой подход - Сохраняет обе группы в списке. Используется двоичный поиск от java api.

1 Ответ

3 голосов
/ 30 марта 2020

Может быть что-то вроде этого?

val customers: Set[String] = Set(
  "Luis",
  "Oliver",
  "abhi"
)

def thirdPartyService(): List[String] =
  List(
    "Luis",
    "Miguel",
    "Oliver"
  )

val result = thirdPartyService().filter(customers)
// result: List[String] = List(Luis, Oliver)

Или, если вы можете получить результат от стороннего сервиса также как Set , вы можете сделать это:

val customers: Set[String] = Set(
  "Luis",
  "Oliver",
  "abhi"
)

def thirdPartyService(): Set[String] =
  Set(
    "Luis",
    "Miguel",
    "Oliver"
  )

val result = thirdPartyService() & customers // Also known as intersect.
// result: Set[String] = Set(Luis, Oliver)

(в любом случае, обязательно проверьте scalado c в следующий раз, вы обнаружите, что у него много полезных методов)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...