Существует два абзаца, требуется сравнить, вывести список одинаковых слов после сравнения и предложения задом наперед

    Существует два абзаца, требуется сравнить их и вывести 
список одинаковых слов после сравнения, после вывести
 предложения задом наперед не изменяя слова,
 "Иван Петрович" -- "Петрович Иван". JAVA
        
    String string1 = "При записи в позицию capacity +1 происходит динамическое увеличение размера, а именно создается новый массив кол-во элементов в котором равно (capacity * 3) / 2 + 1 и в него перемещаются все элементы из старого + плюс добавляется новый элемент. В связи с этим свойством вставка в конец происходит в среднем за постоянное время.";
        String string2 = "При создании должен быть проинициализирован начальным размером capacity (по умолчанию capacity = 10) , в процессе размер растет динамически.";

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

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

Можно без регулярок как-то так попробовать:

    String[] arrayOne = string1.split(" ");
    String[] arrayTwo = string2.split(" ");
    HashSet<String> repeatingWords = new HashSet<>();
    for (String word : arrayOne){
        for  (String word2 : arrayTwo){
            if (word.equals(word2))
                repeatingWords.add(word);
        }
    }
    for (String word : repeatingWords){
        System.out.println(word);
    }
    for (int i = arrayOne.length-1; i >=0; i--){
        System.out.print(arrayOne[i] + " ");
    }
    for (int i = arrayTwo.length-1; i >=0; i--){
         System.out.print(arrayTwo[i] + " ");
    }
→ Ссылка