java сравнить строки с словами в разной поледовательности

Подскажите как сравнить две или более строк с разной последовательностью слов? строки: MIKHAIL VLADISLAV GRIGORY VLADISLAV MIKHAIL GRIGORY IVAN ILYA VLADIMIR ANDREY VLADIMIR ILYA VLADIMIR IVAN ANDREY Результат - 2 совпадения


Ответы (1 шт):

Автор решения: DronDron

Вот простейшая реализация:

public boolean compare(String first, String second) {
    return Arrays.equals(getWordsSortedArray(first), getWordsSortedArray(second));
}

private String[] getWordsSortedArray(String text) {
    return Arrays.stream(text.split(" ")).sorted().toArray(String[]::new);
}

Попробуйте, возможно для ваших задач не подойдёт, тогда можно улучшить. Тут слова разделяются просто пробелами.

→ Ссылка