Как сгруппировать и суммировать по сходству строк

Имея в виду ограничения, упомянутые в других ответах, вы также можете использовать openpojo's PojoClassFactory (, доступный на Maven ) следующим образом:

for(PojoClass pojoClass : PojoClassFactory.enumerateClassesByExtendingType(packageRoot, Superclass.class, null)) {
    System.out.println(pojoClass.getClazz());
}

Где packageRoot - это корневая строка пакетов, которые вы хотите искать (например, "com.mycompany" или даже просто "com"), а Superclass - ваш супертип (это также работает и с интерфейсами) .

1
задан user133442 21 January 2019 в 10:21
поделиться

1 ответ

не решение, а хак, который может помочь, если вы делаете что-то быстрое и грязное

  1. строчные названия стран
  2. удаление гласных из страны имена
  3. удаляют последовательные вхождения согласных

после того, как вы преобразуете данные таким образом, что вы можете использовать обычную групповую работу, и это должно работать довольно хорошо.

Я предлагаю это, поскольку ваши данные выглядят как названия стран, введенные пользователями.


другая идея:

шаг предварительной обработки:

  1. использовать корректор правописания, обученный по названиям стран, чтобы угадать название страны из неправильного правописания ( https : //norvig.com/spell-correct.html )
  2. преобразуйте каждую строку данных, используя это.

затем используйте groupby для группировки.

0
ответ дан Pratik Deoghare 21 January 2019 в 10:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: